一. 前言
SSM编程,即SpringMVC + Spring + MyBatis 整合,是当前较为流行的JavaEE开发技术架构。
SSM的实质是,将MyBatis 融合入Spring 中。SpringMVC本身也是Spring的一部分,不用整合
到Spring中。
附上图片:
SSM整合的实现方式有两种:基于XML配置方式,和基于注解的方式。
二 . 项目的搭建
项目目录
- 导入相应jar包
- 在web.xml 中配置相关的标签
2.1 指定Spring 配置文件的位置
<!-- 指定Spring配置文件的位置及名称 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:resources/spring-*.xml</param-value>
</context-param>
其中包括了注册数据源 ,事务管理 ,Service ,Dao ,Bean
2.2 注册ServletContext监听器
<!-- 注册ServletContext监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
注册ServletContext 监听器的实现类 ContextLoaderListener ,用于创建Spring 容器及创建好的
Spring 容器对象放入到ServletContext 的域属性中,保证了整个应用中Spring 容器的唯一性。
2.3 注册字符集过滤器
解决中文乱码的问题
<!-- 注册字符编码过滤器 -->
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.4 配置中央调度器
DispatcherServlet 本质上是一个servlet ,这里需注意url-pattern的路径
<!-- 注册SpringMVC的中央调度器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:resources/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
- Mybatis 主配置文件:注册Mapper中所使用的类的别名,以及mapper 的位置
- jdbc.properties 中 配置相关数据库的参数
- Spring的配置文件
5.1 spring-db.xml 用于注册数据源相关Bean ,加载jdbc.properties
5.2 spring-mybatis.xml 作用是注册SqlSessionFactoryBean 加载mybatis.xml ,
和dao的代理对象
5.3 spring-service.xml 进行对Service的Bean的注册
5.4 spring-tx.xml 注册事务相关的Bean - spring-mvc.xml 注册springMVC的处理器
到这相关的配置文件已配置完毕,剩下的就是代码的具体实现,由于基于xml或注解的代码
不同,这就不贴出代码了,但在开发中基于注解的开发会方便很多,一般在写代码是都用注
解实现,所以要掌握常用的注解的用法。