如果轉(zhuǎn)載文章請(qǐng)注明出處, 謝謝 !
本系列文章是學(xué)習(xí)完 Spring4.3.8 后的詳細(xì)整理, 如果有錯(cuò)誤請(qǐng)向我指明, 我會(huì)及時(shí)更正~??
Spring4.3.8
Spring4.3.8學(xué)習(xí)[一]
Spring4.3.8學(xué)習(xí)[二]
Spring4.3.8學(xué)習(xí)[三]
Spring4.3.8學(xué)習(xí)之 與 Struts2 整合[四]
Spring4.3.8學(xué)習(xí)之與Hibernate4 整合[五]
因?yàn)閮蓚€(gè)框架的單獨(dú)整合的例子都已經(jīng)完成了, 所以 S2SH 三個(gè)框架的整合細(xì)節(jié)沒有貼出圖片和代碼, 大家可以嘗試按照我寫的步驟進(jìn)行整合. 我使用的是IDE: Intellij IDEA17 , 如果發(fā)現(xiàn)實(shí)在解決不了的問題, 歡迎提問. ??
7. S2SH 框架整合
7.1. 各個(gè)框架扮演的角色
Struts2: MVC
Spring :
1.使用 IoC 和 DI 實(shí)現(xiàn)完全的面向接口編程, 在 Action 層為了做到完全的面向接口編程, 必須讓 action 的實(shí)例由 spring 容器產(chǎn)生
2.聲明式事務(wù)處理: 不需要再管事務(wù)了.
Hibernate: 完成數(shù)據(jù)庫操作
7.2. 整合的原則
誰能先測(cè)試, 先寫誰. 寫一步對(duì)一步
[1] 持久化類, 映射文件
[2] 引入 sessionFactory
[3] dao, service 層
[4] spring 的聲明式事務(wù)處理
[5] 寫 action和前臺(tái)
7.3. 步驟
[1] 創(chuàng)建 web 工程, 選擇 Spring, Struts2 . 導(dǎo)入其他 jar 包
[2] 三個(gè)資源文件夾: src / config / test
[3] 創(chuàng)建持久化類 和 映射文件 com.lanou.domain : Person + Person.hbm.xml
[4] 寫 spring 配置文件 . 配置文件不能夠只一個(gè) <import > ac-db.xml
[5] 測(cè)試 test/com.lanou.s2sh.test/ SessionFactoryTest , SpringUtil
[6] 創(chuàng)建 dao 層和 service 層類和接口
[7] 寫 spring 聲明式事務(wù)處理的配置, 并把dao, service 放入 spring 中 , ac-person.xml
[8] 聲明式事務(wù)測(cè)試
[9] 創(chuàng)建 action, 把 action 放進(jìn) spring 容器中. scope=prototype, 測(cè)試 action 創(chuàng)建
[10] action的 struts 配置, struts.xml(src) / struts-person.xml <action name="personAction_*" class="personAction" method="{1}">
[11] web.xml
7.4 啟動(dòng)流程
-
Tomcat 啟動(dòng)時(shí)候
Struts2 容器:
- 加載default.properties 配置文件
- struts-default.xml
- struts-plugin.xml
- 存在 struts2-spring-plugin.jar
- struts-plugin.xml: struts2的 action 產(chǎn)生, buildBean
- struts.xml
- web.xml
- contextLoaderListener: 初始化spring容器
- contextConfigLocation: 配置文件路徑, 沒有會(huì)去默認(rèn)路徑查找 WEB-INF
spring容器啟動(dòng)后
- 創(chuàng)建了 dao和service層的對(duì)象和代理對(duì)象, 但是 action 沒有創(chuàng)建