




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
SSM框架整合思路XML文件整合SSM框架純注解整合SSM框架第13章
SSM框架整合2024/1/29學習目標/Target了解SSM框架的整合思路
熟悉SSM框架整合時的配置文件內容掌握SSM框架整合應用程序的編寫2章節概述/Summary對于JavaEE應用程序的開發,行業中提供了非常多的技術框架,但是不管如何進行技術選型,JavaEE應用都可以分為表現層、業務邏輯層和數據持久層,當前,這3個層的主流框架分別是SpringMVC、Spring和MyBatis,簡稱為SSM框架,JavaEE應用程序也經常通過整合這3大框架來完成開發。SSM框架的整合有多種方式,本章將對常用的整合方式和純注解的整合方式來對SSM框架的整合進行講解。3目錄/CONTENTSSSM框架整合思路純注解整合SSM框架XML文件整合SSM框架1324SSM框架整合思路01第13章SSM框架整合如何進行SSM框架整合?整合思路
由于SpringMVC是Spring框架中的一個模塊,所以SpringMVC與Spring之間不存在整合的問題,只要引入相應JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring與MyBatis的整合,以及SpringMVC與MyBatis的整合。6SSM框架整合時三層架構的分工
進行SSM框架整合時,3個框架的分工如下所示。
MyBatis負責與數據庫進行交互。
Spring負責事務管理,Spring可以管理持久層的Mapper對象及業務層的Service對象。由于Mapper對象和Service對象都在Spring容器中,所以可以在業務邏輯層通過Service對象調用持久層的Mapper對象。
SpringMVC負責管理表現層的Handler。SpringMVC容器是Spring容器的子容器,因此SpringMVC容器可以調用Spring容器中的Service對象。
整合思路7整合思路SSM框架整合圖如下所示:
在前面講解Spring與MyBatis框架的整合時,我們是通過Spring實例化Bean,然后調用實例對象中的查詢方法來執行MyBatis映射文件中的SQL語句的,如果能夠正確查詢出數據庫中的數據,那么我們就認為Spring與MyBatis框架整合成功。同樣,整合之后,如果我們可以通過前臺頁面來執行查詢方法,并且查詢出的數據能夠在頁面中正確顯示,那么我們也可以認為三大框架整合成功。如何確定SSM框架整合成功?8SSM框架整合系統架構設計SSMORM:MyBatis框架SpringCore:基于IoC和AOP的處理方式統一管理所有的JavaBeanWeb框架:SpringMVC數據存儲:MySQL前端框架:JSPjQuery框架HTML5、CSS39XML文件
整合SSM框架02第13章SSM框架整合SSM框架整合實現思路
下面通過一個用戶信息查詢案例來描述SSM框架的整合,案例實現思路如下。
搭建項目基礎結構。首先需要在數據庫中搭建項目對應的數據庫環境;然后創建一個MavenWeb項目,并引入案例所需的依賴;最后創建項目的實體類,創建三層架構對應的模塊、類和接口。
整合Spring和MyBatis。在Spring配置文件中配置數據源信息,并且將SqlSessionFactory對象和Mapper對象都交由Spring管理。
整合Spring和SpringMVC。SpringMVC是Spring框架中的一個模塊,所以Spring整合SpringMVC只需在項目啟動時分別加載各自的配置即可。整合思路11搭建項目基礎結構12步驟1搭建數據庫環境步驟2引入項目依賴步驟3創建實體類步驟4創建三層架構對應模塊的類和接口STEP01STEP02STEP03STEP04(1)Spring相關依賴。spring-context:Spring上下文;spring-tx:Spring事務管理;spring-jdbc:SpringJDBC;spring-test:Spring單元測試;spring-webmvc:SpringMVC核心。(2)MyBatis相關依賴。mybatis:MyBatis核心;(3)MyBatis與Spring整合包。mybatis-spring:MyBatis與Spring整合。
(4)數據源相關。druid:阿里提供的數據庫連接池。(5)單元測試相關的依賴。junit:單元測試,與spring-test放在一起做單元測試。(6)ServletAPI相關的依賴。jsp-api:jsp頁面使用request等對象;servlet-api:java文件使用request等對象。(7)數據庫相關的依賴。mysql-connector-java:mysql的數據庫驅動包。
引入項目依賴13
Spring和MyBatis的整合可以分為2步來完成,首先搭建Spring環境,然后整合MyBatis到Spring環境中??蚣墉h境包含框架對應的依賴和配置文件,其中Spring的依賴、MyBatis的依賴、Spring和MyBatis整合的依賴,在項目基礎結構搭建時候已經引入到項目中了,接下來,只需編寫Spring的配置文件、Spring和MyBatis整合的配置文件即可。
整合Spring和MyBatis14步驟1
Spring的配置文件步驟2
Spring和MyBatis整合的配置步驟3整合測試STEP01STEP02STEP03Spring的配置文件
在項目的src\main\resources目錄下創建配置文件application-service.xml,用于配置Spring對Service層的掃描信息。application-service.xml具體代碼如下所示。
<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"...><!--開啟注解掃描,掃描包--><context:component-scanbase-package="cn.dsscm.service"/></beans>整合Spring和MyBatis15Spring和MyBatis整合的配置
Spring和MyBatis的整合包中提供了一個SqlSessionFactoryBean對象,該對象的Bean需要注入數據源,也可以根據需求在SqlSessionFactoryBean的Bean中配置MyBatis核心文件路徑、別名映射和Mapper映射文件路徑。在項目的src\main\resources目錄下創建數據源屬性文件perties,perties配置的數據源信息如下所示。
jdbc.driverClassName=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghaijdbc.username=rootjdbc.password=123456整合Spring和MyBatis16整合測試在項目的src\main\test目錄下的java文件夾中,創建測試類,用于對Spring和MyBatis的整合進行測試。
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:application-service.xml","classpath:application-dao.xml"})publicclassUserServiceTest{ @Autowired privateUserServiceuserService; @Test publicvoidfindUserById(){ Useruser=userService.findUserById(1); System.out.println(user); }}整合Spring和MyBatis17結果測試運行測試方法findUserById(),方法運行后控制臺打印信息如圖所示。整合Spring和MyBatis18從圖中的信息可以看出,程序輸出了id為1的用戶信息。這表明測試類中成功裝配了UserService對象,UserService對象成功調用Service層的findUserById()方法,Service層的findUserById()方法成功調用Dao層的findUserById()方法完成了數據查詢,說明Spring和MyBatis已經整合成功。Spring的配置
之前Spring和MyBatis整合時,已經完成了Spring的配置文件,Spring和SpringMVC整合,只需在項目啟動時加載Spring容器和Spring的配置文件即可。在項目的web.xml文件中配置Spring的監聽器來加載Spring容器及Spring的配置文件,具體配置如下所示。
<context-param>
<param-name>contextConfigLocation</param-name><param-value>classpath:application-*.xml</param-value></context-param><listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>整合Spring和SpringMVC19Spring
MVC的配置
本案例主要測試SSM整合的情況,因此在SpringMVC的配置文件中只配置SSM整合案例必須的配置。必須配置的項有以下2個。
配置包掃描,指定需要掃描到SpringMVC中的Controller層所在的包路徑。
配置注解驅動,讓項目啟動時啟用注解驅動,并且自動注冊HandlerMapping和HandlerAdapter。
在項目的src\main\resources目錄下創建SpringMVC的配置文件spring-mvc.xml。Spring-mvc.xml文件配置完成之后,在web.xml中配置SpringMVC的前端控制器,并在初始化前端控制器時加載SpringMVC的配置文件。
整合Spring和SpringMVC20SSM框架整合測試接下來,通過在頁面查詢用戶信息來測試SSM框架的整合情況。在項目的src/main/webapp目錄下創建名稱為user的JSP文件,用于展示處理器返回的用戶信息。….<tableclass="tabletable-hover"><thead><tr><th>用戶編號</th><th>用戶姓名</th><th>用戶編碼</th><th>生日</th><th>性別</th></tr></thead><tbody><tr><td>${user.id}</td><td>${user.userName}</td><td>${user.userCode}</td><td>${user.birthday}</td><td>${user.gender}</td></tr></tbody></table>……整合Spring和SpringMVC21結果測試將項目部署到Tomcat中,啟動項目,在瀏覽器中訪問地址http://localhost:8888/user?id=1來進行用戶查詢,頁面顯示效果如圖所示。整合Spring和SpringMVC22從圖中所示的信息可以看出,程序成功查詢到了id為1的用戶信息。這表明Controller層成功將Service層獲取的用戶信息返回給頁面,由此說明SSM框架整合成功。純注解
整合SSM框架03第13章SSM框架整合application-dao.xml
application-dao.xml配置文件中配置的內容包含以下4項。
讀取perties文件中的數據連接信息。
創建Druid對象,并將讀取的數據連接信息注入到Druid數據連接池對象中。
創建SqlSessionFactoryBean對象,將并將Druid對象注入到SqlSessionFactoryBean對象中。
創建MapperScannerConfigurer對象,并指定掃描的Mapper的路徑。
整合思路
24application-service.xml和spring-mvc.xml
application-service.xml配置文件中只配置了包掃描,指定需要掃描到Spring的Service層所在的包路徑。spring-mvc.xml配置文件中配置了SpringMVC掃描的包路徑和注解驅動。
整合思路
25web.xml
web.xml配置文件配置了項目啟動時加載的信息,包含如下3個內容。
使用<context-param>元素加載Spring配置文件application-service.xml和Spring整合Mybatis的配置文件application-dao.xml。Spring容器加載監聽器。
配置SpringMVC的前端控制器。整合思路
26純注解SSM框架整合27步驟1編輯JdbcConfig.java步驟2編輯MyBatisConfig.java步驟3編輯SpringConfig.java步驟4編輯SpringMvcConfig.java步驟5編輯ServletContainersInitConfig步驟6
SSM框架整合測試STEP01STEP02STEP03STEP04STEP05STEP0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025北京市人力資源和社會保障局勞動合同樣本
- 2025房地產開發合同模板
- 小區垃圾清理方案范本
- 升降道閘安裝施工方案
- 機電技術應用教授科目
- 農場流轉合同樣本
- 2025年智能化項目委托監理合同范本示例
- 2025年寧夏短期用工合同范本參考
- 經營目標完成情況的檢討與調整計劃
- 班級學生個性發展的支持措施計劃
- 《扁桃體摘除術》課件
- 市場推廣服務費合同
- NB-T 47013.15-2021 承壓設備無損檢測 第15部分:相控陣超聲檢測
- 濕地公園運營投標方案(技術標)
- 完整版新概念第一冊筆記(張云生)word版
- 白塞病診斷和治療課件
- 基準地價技術報告
- 靜安區實驗室施工方案模板
- 《上海奉賢區S村非機動車停放管理的調查報告》4200字
- 口腔門診診所過敏性休克搶救流程
- 2022橋梁承載能力快速測試與評估技術規程
評論
0/150
提交評論