一. 前言
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或註解的代碼
不同,這就不貼出代碼了,但在開發中基於註解的開發會方便很多,一般在寫代碼是都用注
解實現,所以要掌握常用的註解的用法。