搭建SSM框架難點主要在於四個xml的配置文件:
spring.xml配置文件的主要功能是操作后端數據庫,怎么操作呢,通過在Service層注入接口dao來操作,首先配置數據源獲得一個connection連接數據庫,dao的注入需要接口與mapper.xml映射,這樣就不需要自己再寫dao的實現類,注入dao的時候,屬性命名要與接口名相同首字母小寫,然后用dao可以進行增刪改查。
//spring.xml頭文件
//掃描service實現類包
//自動注入
//導入資源文件,配置數據源
//注冊sqlSession
//映射接口
//配置事務
spring-mybatis.xml配置文件的主要功能是設置別名
//spring-mybatis.xml頭文件
//設置別名
spring-mvc.xml配置的主要功能是前端視圖層的返回,主要通過在controller層注入service接口進行與后台連接獲取數據在controller層,這個service的注入需要自己寫實現類,需要在實現類上標注@Service才能進行自動裝配。
//spring-mvc.xml頭文件
//配置自動掃描的包
//自動注入
//配置視圖解析器
//配置處理靜態資源的Servlet
//配置mvc:annotation-driven
web.xml文件的主要功能攔截客戶端的所有請求,交給上面的springmvc處理,容器加載spring.xml配置文件。
//web.xml文件的頭文件
//加載spring.xml(applicationContext.xml)
//加載spring-mvc.xml,將請求交給它處理
//過濾器filter配置編碼格式
1、spring.xml中注入的SqlSesssionFactory類在mybatis包中而不是在spring包中。
2、mybatis中的trim標簽中的prefixOverride是去掉第一個前綴,suffixOverride是去掉最后一個后綴。
3、spring整合mybatis時在spring.xml配置文件中需要
//配置數據源dataSource,class=“org.springframework.jdbc.dataSource.DriverManagerDataSource”
//配置sqlSessionFactory,class=“org.mybatis.spring.SqlSessionFactoryBean”,屬性property=“dataSource”,property=“mappingLocations”。
//配置動態映射mapping與dao,class=“org.mybatis.spring.mapper.MapperScannerConfigurer”屬性property=“basePackage”,property=“SqlSessionFactoryBeanName”
4、加載屬性文件的配置<context:property-placeholder location=”classpath:jdbc.properties”。
5、配置數據源可以直接用org.springframework.jdbc.datasource.DriverManagerDataSource類
6、配置數據源加載,創建SessionFactory時需要SqlSessionFactoryBean,類中有兩個屬性property,一個是dataSource數據連接,另一個是mapping映射xml文件的路徑。
7、配置springMvc的視圖解析器主要用到org.springframework.web.servlet.view.InternalResourceViewResolver
8、加載spring容器時通過監聽器listener實現的,org.springframework.web.context.ContextLoaderListener。
9、新建一個web項目,頂行出現紅叉,可以取消xml文件驗證的build校驗。
10、spring-mvc.xml,spring.xml,spring-mybatis.xml文件加載都用classpath:*.xml。
11、classpath路徑在項目的classes包下,classes包在build包下,如果沒有build包則默認在web-inf包下
12、完整的拷貝一個項目的注意事項:1 新建web空項目,2 復制WebContext下的內容覆蓋空項目中的WebContext,3 將src下的內容覆蓋空項目中的src,4 復制conf中的文件復制到src下。
13、自動掃描包<context:component-scan base-package=”com.zzb.www.controller”/>
14、自動裝配<context:annotation-config/>