SSM 基本配置
一. 基础框架文件
二. 配置文件详情
1. 基于 mybatis 配置
1.sqlMapConfig.xml 如下:
- <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
- <settings>
- <!-- 开启驼峰命名 -->
- <setting name="mapUnderscoreToCamelCase" value="true"/>
- </settings>
- <!-- 开启别名 -->
- <typeAliases>
- <!-- 该包下面的所有类不用引用全类名, 直接使用类的名字即可无视大小写 -->
- <package name="com.shiyan.bean"/>
- </typeAliases>
- <!-- 查询 sql 映射文件, 项目启动的时候加载这个 mappers 配置,-->
- <mappers>
- <!--resource 相对于 java 和 resource 下的文件,
- 加载该文件下面的 salMapper 接口的配置文件, 通过找到的这个配置文件加载这个接口及接口方法 -->
- <mapper resource="Mapper/CustomerMapper.xml"/>
- </mappers>
- <!-- 分页插件, 便于分页 -->
- <plugins>
- <plugin interceptor="com.github.pagehelper.PageInterceptor"> </plugin>
- </plugins>
- </configuration>
2.applicationConfing.xml 配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context
- https://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx.xsd">
- <!-- 加载 springMvc.xml 的配置归于 IOC 容器管理, 并且使 applicationConfing 文件在服务启动就加载 -->
- <import resource="classpath:spring-mvc.xml"/>
- <!-- 相当于 Mybatis 层的配置, 读取 jdbc.properties 的数据库配置 -->
- <context:property-placeholder location="classpath:jdbc.properties"/>
- <!-- 创建数据源 -->
- <bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource">
- <property name="driverClassName" value="${jdbc.driver}"/>
- <property name="url" value="${jdbc.url}"/>
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- <!-- 最大连接数 -->
- <property name="maxActive" value="10"/>
- <!-- 最大空闲数 -->
- <property name="maxIdle" value="5"/>
- </bean>
- <!-- 创建 SqlSessionFactory 对象 -->
- <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
- <!-- 关联连接池 -->
- <property name="dataSource" ref="dataSource"/>
- <!-- 加载 sql 映射文件 value="classpath:Mapper/CustomerMapper.xml-->
- <property name="mapperLocations" value="classpath:Mapper/*.xml"/>
- </bean>
- <!-- 方式一 (不推荐使用): 需要创建 CustomerMappperImol 对象, 并在该对象中注入 SqlSessionFactory-->
- <!-- 方式二: 配置 mapper 接口 -->
- <!-- <bean class="org.mybatis.spring.mapper.MapperFactoryBean" id="customerMapper">
- <!– 关联要使用的 Mapper 接口 & ndash;>
- <property name="mapperInterface" value="com.shiyan.dao.CustomerMapper"/>
- <!– 关联 SqlSessionFactory–>
- <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
- </bean>-->
- <!-- 方式三: mapper 接口的扫描, 只需要注册这个类 MapperScannerConfigurer, 并使用所以不用配置 id-->
- <!-- 使用这种 Mapper 接口扫描的方式进行配置, 那么每一个 Mapper 接口在 Spring 容器中的名称 id 为类名首字母小写 -->
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <!-- 配置 mapper 接口所在的包的路径, 自动扫描并加载这个包下面的所有 mapper 接口 -->
- <property name="basePackage" value="com.shiyan.dao"/>
- </bean>
- <!-- 开启 Spring 的 IOC 注解的扫描, 将 Service 和 Repository 加入 IOC 容器 -->
- <context:component-scan base-package="com.shiyan"/>
- <!-- 开启 Spring 事务, 相当于 Service 层配置 -->
- <!-- 事务管理器 -->
- <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
- <!-- 关联 dataSource 数据源, 对数据库的事务进行管理 -->
- <property name="dataSource" ref="dataSource"/>
- </bean>
- <!-- 启用 Spring 事务的注解操作, 关联上面的 transactionManager 就可以使用注解对某一个 service 业务进行事务的管理 -->
- <!-- 在需要被事务管理的 service 业务类上添加 @Transactional 这个注解即可
- @Transactional
- public class CustomerServiceImpl implements CustomerService {
- -->
- <tx:annotation-driven transaction-manager="transactionManager"/>
- </beans>
3. 基于 MySQL 的 jdbc.properties 文件
- jdbc.driver=com.MySQL.jdbc.Driver
- jdbc.url=jdbc:MySQL://localhost:3306/ssm?characterEncoding=utf-8
- jdbc.username=""jdbc.password=""
4.springMvc.xml 配置文件
- <?xml version="1.0" encoding="UTF-8" ?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/context
- https://www.springframework.org/schema/context/spring-context.xsd">
- <!--1. 开启注解驱动 -->
- <mvc:annotation-driven/>
- <!--2. 静态资源过滤, js 和 CSS, 图片等各种静态资源 -->
- <mvc:default-servlet-handler/>
- <!--3. 扫描包: controller. 哪些类上加了 controller 就是前端控制器 -->
- <context:component-scan base-package="com.shiyan.controller"/>
- <!--4. 配置视图解析器, 指定 controller 返回的视图前缀和后缀 -->
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
- <!-- 前缀 -->
- <property name="prefix" value="/WEB-INF/jsp/"/>
- <!-- 后缀 -->
- <property name="suffix" value=".jsp"/>
- </bean>
- </beans>
5.log4g.properties 配置
- # 定义输出级别
- log4j.rootLogger=DEBUG,Console,File
- # 日志输出方式: 控制台输出
- log4j.appender.Console=org.apache.log4j.ConsoleAppender
- log4j.appender.Console.Target=System.out
- log4j.appender.Console.Encoding=GBK
- # 可以灵活地指定布局模式
- log4j.appender.Console.layout=org.apache.log4j.PatternLayout
- #log4j.appender.Console.layout.ConversionPattern = %d{
- yyyy-MM-dd HH:mm:ss.SSS
- } -%p (%F\:%L)- %m%n
- # 打印格式栗子: 2017-08-11 15:36 -DEBUG (HttpServletBean.java:174)- Servlet 'mvc' configured successfully
- log4j.appender.Console.layout.ConversionPattern = %d{
- yyyy-MM-dd HH:mm
- } -%p (%F\:%L)- %m%n
- ### 打印 SQL ###
- #log4j.logger.com.ibatis=DEBUG
- #log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
- #log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
- #log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
- log4j.logger.java.sql.Connection=DEBUG
- log4j.logger.java.sql.Statement=DEBUG
- log4j.logger.java.sql.PreparedStatement=DEBUG
- #log4j.logger.java.sql.ResultSet=DEBUG
6.Mapper 文件夹下面的 Mapper.xml(相当于 Dao 接口的实现类) 配置
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <!-- 命名空间, 即要映射的 Dao 接口的全类名. 按住 CTRL 点击这个类名能跳转到 Dao 接口就配置完成了 -->
- <mapper namespace="com.shiyan.dao.CustomerMapper">
- <!-- 查询全部, id 必须是 Dao 接口的方法名才能, 在 sqlMapConfig.xml 文件配置别名后 resultType 可以使用取的别名, 自动添加包扫描别名默认是该类名 Customer-->
- <select id="findAll" resultType="com.shiyan.domain.Customer">
- select * from t_customer;
- </select>
- </mapper>
7.Web.xml 配置
- <?xml version="1.0" encoding="UTF-8"?>
- <Web-App xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
- <!-- 启动 spring 其内部包含 springmvc 和 mybatis 的配置一起加载 -->
- <servlet>
- <servlet-name>DispatcherServlet</servlet-name>
- <servlet-class>org.springframework.Web.servlet.DispatcherServlet</servlet-class>
- <!-- 初始化参数: 读取 spring-mvc.xml 的配置文件 -->
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:applicationContext.xml</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>DispatcherServlet</servlet-name>
- <!--
- /: 拦截所有请求不拦截 .jsp
- /*: 拦截所有的请求宝库 jsp 页面
- -->
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <!-- 配置编码过滤器 -->
- <filter>
- <filter-name>CharacterEncodingFilter</filter-name>
- <filter-class>org.springframework.Web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>utf-8</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>CharacterEncodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </Web-App>
基本框架搭建完成后就可以很方便的编写 Controller 和视图了
来源: http://www.bubuko.com/infodetail-3281170.html