版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SSM框架整合思路XML文件整合SSM框架純注解整合SSM框架第13章
SSM框架整合2024/1/29學(xué)習(xí)目標(biāo)/Target了解SSM框架的整合思路
熟悉SSM框架整合時(shí)的配置文件內(nèi)容掌握SSM框架整合應(yīng)用程序的編寫2章節(jié)概述/Summary對(duì)于JavaEE應(yīng)用程序的開發(fā),行業(yè)中提供了非常多的技術(shù)框架,但是不管如何進(jìn)行技術(shù)選型,JavaEE應(yīng)用都可以分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層,當(dāng)前,這3個(gè)層的主流框架分別是SpringMVC、Spring和MyBatis,簡(jiǎn)稱為SSM框架,JavaEE應(yīng)用程序也經(jīng)常通過整合這3大框架來完成開發(fā)。SSM框架的整合有多種方式,本章將對(duì)常用的整合方式和純注解的整合方式來對(duì)SSM框架的整合進(jìn)行講解。3目錄/CONTENTSSSM框架整合思路純注解整合SSM框架XML文件整合SSM框架1324SSM框架整合思路01第13章SSM框架整合如何進(jìn)行SSM框架整合?整合思路
由于SpringMVC是Spring框架中的一個(gè)模塊,所以SpringMVC與Spring之間不存在整合的問題,只要引入相應(yīng)JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring與MyBatis的整合,以及SpringMVC與MyBatis的整合。6SSM框架整合時(shí)三層架構(gòu)的分工
進(jìn)行SSM框架整合時(shí),3個(gè)框架的分工如下所示。
MyBatis負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互。
Spring負(fù)責(zé)事務(wù)管理,Spring可以管理持久層的Mapper對(duì)象及業(yè)務(wù)層的Service對(duì)象。由于Mapper對(duì)象和Service對(duì)象都在Spring容器中,所以可以在業(yè)務(wù)邏輯層通過Service對(duì)象調(diào)用持久層的Mapper對(duì)象。
SpringMVC負(fù)責(zé)管理表現(xiàn)層的Handler。SpringMVC容器是Spring容器的子容器,因此SpringMVC容器可以調(diào)用Spring容器中的Service對(duì)象。
整合思路7整合思路SSM框架整合圖如下所示:
在前面講解Spring與MyBatis框架的整合時(shí),我們是通過Spring實(shí)例化Bean,然后調(diào)用實(shí)例對(duì)象中的查詢方法來執(zhí)行MyBatis映射文件中的SQL語句的,如果能夠正確查詢出數(shù)據(jù)庫中的數(shù)據(jù),那么我們就認(rèn)為Spring與MyBatis框架整合成功。同樣,整合之后,如果我們可以通過前臺(tái)頁面來執(zhí)行查詢方法,并且查詢出的數(shù)據(jù)能夠在頁面中正確顯示,那么我們也可以認(rèn)為三大框架整合成功。如何確定SSM框架整合成功?8SSM框架整合系統(tǒng)架構(gòu)設(shè)計(jì)SSMORM:MyBatis框架SpringCore:基于IoC和AOP的處理方式統(tǒng)一管理所有的JavaBeanWeb框架:SpringMVC數(shù)據(jù)存儲(chǔ):MySQL前端框架:JSPjQuery框架HTML5、CSS39XML文件
整合SSM框架02第13章SSM框架整合SSM框架整合實(shí)現(xiàn)思路
下面通過一個(gè)用戶信息查詢案例來描述SSM框架的整合,案例實(shí)現(xiàn)思路如下。
搭建項(xiàng)目基礎(chǔ)結(jié)構(gòu)。首先需要在數(shù)據(jù)庫中搭建項(xiàng)目對(duì)應(yīng)的數(shù)據(jù)庫環(huán)境;然后創(chuàng)建一個(gè)MavenWeb項(xiàng)目,并引入案例所需的依賴;最后創(chuàng)建項(xiàng)目的實(shí)體類,創(chuàng)建三層架構(gòu)對(duì)應(yīng)的模塊、類和接口。
整合Spring和MyBatis。在Spring配置文件中配置數(shù)據(jù)源信息,并且將SqlSessionFactory對(duì)象和Mapper對(duì)象都交由Spring管理。
整合Spring和SpringMVC。SpringMVC是Spring框架中的一個(gè)模塊,所以Spring整合SpringMVC只需在項(xiàng)目啟動(dòng)時(shí)分別加載各自的配置即可。整合思路11搭建項(xiàng)目基礎(chǔ)結(jié)構(gòu)12步驟1搭建數(shù)據(jù)庫環(huán)境步驟2引入項(xiàng)目依賴步驟3創(chuàng)建實(shí)體類步驟4創(chuàng)建三層架構(gòu)對(duì)應(yīng)模塊的類和接口STEP01STEP02STEP03STEP04(1)Spring相關(guān)依賴。spring-context:Spring上下文;spring-tx:Spring事務(wù)管理;spring-jdbc:SpringJDBC;spring-test:Spring單元測(cè)試;spring-webmvc:SpringMVC核心。(2)MyBatis相關(guān)依賴。mybatis:MyBatis核心;(3)MyBatis與Spring整合包。mybatis-spring:MyBatis與Spring整合。
(4)數(shù)據(jù)源相關(guān)。druid:阿里提供的數(shù)據(jù)庫連接池。(5)單元測(cè)試相關(guān)的依賴。junit:單元測(cè)試,與spring-test放在一起做單元測(cè)試。(6)ServletAPI相關(guān)的依賴。jsp-api:jsp頁面使用request等對(duì)象;servlet-api:java文件使用request等對(duì)象。(7)數(shù)據(jù)庫相關(guān)的依賴。mysql-connector-java:mysql的數(shù)據(jù)庫驅(qū)動(dòng)包。
引入項(xiàng)目依賴13
Spring和MyBatis的整合可以分為2步來完成,首先搭建Spring環(huán)境,然后整合MyBatis到Spring環(huán)境中??蚣墉h(huán)境包含框架對(duì)應(yīng)的依賴和配置文件,其中Spring的依賴、MyBatis的依賴、Spring和MyBatis整合的依賴,在項(xiàng)目基礎(chǔ)結(jié)構(gòu)搭建時(shí)候已經(jīng)引入到項(xiàng)目中了,接下來,只需編寫Spring的配置文件、Spring和MyBatis整合的配置文件即可。
整合Spring和MyBatis14步驟1
Spring的配置文件步驟2
Spring和MyBatis整合的配置步驟3整合測(cè)試STEP01STEP02STEP03Spring的配置文件
在項(xiàng)目的src\main\resources目錄下創(chuàng)建配置文件application-service.xml,用于配置Spring對(duì)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的整合包中提供了一個(gè)SqlSessionFactoryBean對(duì)象,該對(duì)象的Bean需要注入數(shù)據(jù)源,也可以根據(jù)需求在SqlSessionFactoryBean的Bean中配置MyBatis核心文件路徑、別名映射和Mapper映射文件路徑。在項(xiàng)目的src\main\resources目錄下創(chuàng)建數(shù)據(jù)源屬性文件perties,perties配置的數(shù)據(jù)源信息如下所示。
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整合測(cè)試在項(xiàng)目的src\main\test目錄下的java文件夾中,創(chuàng)建測(cè)試類,用于對(duì)Spring和MyBatis的整合進(jìn)行測(cè)試。
@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結(jié)果測(cè)試運(yùn)行測(cè)試方法findUserById(),方法運(yùn)行后控制臺(tái)打印信息如圖所示。整合Spring和MyBatis18從圖中的信息可以看出,程序輸出了id為1的用戶信息。這表明測(cè)試類中成功裝配了UserService對(duì)象,UserService對(duì)象成功調(diào)用Service層的findUserById()方法,Service層的findUserById()方法成功調(diào)用Dao層的findUserById()方法完成了數(shù)據(jù)查詢,說明Spring和MyBatis已經(jīng)整合成功。Spring的配置
之前Spring和MyBatis整合時(shí),已經(jīng)完成了Spring的配置文件,Spring和SpringMVC整合,只需在項(xiàng)目啟動(dòng)時(shí)加載Spring容器和Spring的配置文件即可。在項(xiàng)目的web.xml文件中配置Spring的監(jiān)聽器來加載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的配置
本案例主要測(cè)試SSM整合的情況,因此在SpringMVC的配置文件中只配置SSM整合案例必須的配置。必須配置的項(xiàng)有以下2個(gè)。
配置包掃描,指定需要掃描到SpringMVC中的Controller層所在的包路徑。
配置注解驅(qū)動(dòng),讓項(xiàng)目啟動(dòng)時(shí)啟用注解驅(qū)動(dòng),并且自動(dòng)注冊(cè)HandlerMapping和HandlerAdapter。
在項(xiàng)目的src\main\resources目錄下創(chuàng)建SpringMVC的配置文件spring-mvc.xml。Spring-mvc.xml文件配置完成之后,在web.xml中配置SpringMVC的前端控制器,并在初始化前端控制器時(shí)加載SpringMVC的配置文件。
整合Spring和SpringMVC20SSM框架整合測(cè)試接下來,通過在頁面查詢用戶信息來測(cè)試SSM框架的整合情況。在項(xiàng)目的src/main/webapp目錄下創(chuàng)建名稱為user的JSP文件,用于展示處理器返回的用戶信息。….<tableclass="tabletable-hover"><thead><tr><th>用戶編號(hào)</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結(jié)果測(cè)試將項(xiàng)目部署到Tomcat中,啟動(dòng)項(xiàng)目,在瀏覽器中訪問地址http://localhost:8888/user?id=1來進(jìn)行用戶查詢,頁面顯示效果如圖所示。整合Spring和SpringMVC22從圖中所示的信息可以看出,程序成功查詢到了id為1的用戶信息。這表明Controller層成功將Service層獲取的用戶信息返回給頁面,由此說明SSM框架整合成功。純注解
整合SSM框架03第13章SSM框架整合application-dao.xml
application-dao.xml配置文件中配置的內(nèi)容包含以下4項(xiàng)。
讀取perties文件中的數(shù)據(jù)連接信息。
創(chuàng)建Druid對(duì)象,并將讀取的數(shù)據(jù)連接信息注入到Druid數(shù)據(jù)連接池對(duì)象中。
創(chuàng)建SqlSessionFactoryBean對(duì)象,將并將Druid對(duì)象注入到SqlSessionFactoryBean對(duì)象中。
創(chuàng)建MapperScannerConfigurer對(duì)象,并指定掃描的Mapper的路徑。
整合思路
24application-service.xml和spring-mvc.xml
application-service.xml配置文件中只配置了包掃描,指定需要掃描到Spring的Service層所在的包路徑。spring-mvc.xml配置文件中配置了SpringMVC掃描的包路徑和注解驅(qū)動(dòng)。
整合思路
25web.xml
web.xml配置文件配置了項(xiàng)目啟動(dòng)時(shí)加載的信息,包含如下3個(gè)內(nèi)容。
使用<context-param>元素加載Spring配置文件application-service.xml和Spring整合Mybatis的配置文件application-dao.xml。Spring容器加載監(jiān)聽器。
配置SpringMVC的前端控制器。整合思路
26純注解SSM框架整合27步驟1編輯JdbcConfig.java步驟2編輯MyBatisConfig.java步驟3編輯SpringConfig.java步驟4編輯SpringMvcConfig.java步驟5編輯ServletContainersInitConfig步驟6
SSM框架整合測(cè)試STEP01STEP02STEP03STEP04STEP05STEP0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年安徽事業(yè)單位統(tǒng)考招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省江油市事業(yè)單位招聘29名專業(yè)技術(shù)人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川南充營(yíng)山縣招聘事業(yè)單位工作人員36人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年浙江衢州市市屬事業(yè)單位選調(diào)工作人員26人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年安徽事業(yè)單位聯(lián)考招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省阿壩州事業(yè)單位招聘557人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川南充市事業(yè)單位考試招聘595人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年度夫妻財(cái)產(chǎn)分割與婚姻穩(wěn)定保障協(xié)議書2篇
- 2025年度房產(chǎn)項(xiàng)目投資合作協(xié)議
- 2025年度工業(yè)自動(dòng)化生產(chǎn)線工裝改造合同2篇
- 活動(dòng)會(huì)議就餐簽到表
- 設(shè)備類供應(yīng)商評(píng)估表
- 四柱型液壓機(jī)的液壓系統(tǒng)設(shè)計(jì)畢業(yè)論文
- YY/T 0698.2-2022最終滅菌醫(yī)療器械包裝材料第2部分:滅菌包裹材料要求和試驗(yàn)方法
- YY/T 0698.9-2009最終滅菌醫(yī)療器械包裝材料第9部分:可密封組合袋、卷材和蓋材生產(chǎn)用無涂膠聚烯烴非織造布材料要求和試驗(yàn)方法
- SB/T 10610-2011肉丸
- JJF 1619-2017互感器二次壓降及負(fù)荷測(cè)試儀校準(zhǔn)規(guī)范
- 2023年浙江首考英語試題(含答案)
- GB 2719-2018食品安全國(guó)家標(biāo)準(zhǔn)食醋
- 皮囊加壓技術(shù)課件
- 理解詞語的方法-課件
評(píng)論
0/150
提交評(píng)論