




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Spring應(yīng)用擴(kuò)展線上線下平臺(tái)預(yù)習(xí)2/23拓展Spring的配置完成超市訂單系統(tǒng)中Spring與MyBatis的集成本章任務(wù)3/23本章目標(biāo)掌握更多配置數(shù)據(jù)源的方法理解Bean的作用域會(huì)使用Spring自動(dòng)裝配會(huì)拆分Spring配置文件4/23在Spring中引用屬性文件 數(shù)據(jù)庫(kù)連接信息寫(xiě)在屬性文件中采用PropertyPlaceholderConfigurer可以引入屬性文件,在Spring配置文件中采用諸如$url的方式引用屬性值driver=com.mysql.jdbc.Driverurl=jdbc:mysql:/:3306/smbms?useUnicode=true&characte
2、rEncoding=utf-8user=rootpassword=rootclasspath:perties$的前后不要鍵入空格,以免報(bào)錯(cuò)!!演示示例1:使用屬性文件配置數(shù)據(jù)源5/23使用JNDI數(shù)據(jù)源 通過(guò)JNDI從服務(wù)器容器中獲取DataSource資源在服務(wù)器環(huán)境中配置數(shù)據(jù)源在Spring配置文件引用JNDI資源 java:comp/env/jdbc/smbms 演示示例2:使用JNDI數(shù)據(jù)源6/23學(xué)員操作使用屬性文件和JNDI配置數(shù)據(jù)源需求說(shuō)明:在超市訂單系統(tǒng)的基礎(chǔ)上,使用屬性文件和JNDI兩種方式改造原有系統(tǒng)的Spring配置,并調(diào)試運(yùn)行成功完成時(shí)間:20分鐘練習(xí)7/23 Spri
3、ng中Bean的作用域2-1 作用域說(shuō) 明singleton默認(rèn)值。Spring以單例模式創(chuàng)建Bean的實(shí)例,即容器中該Bean的實(shí)例只有一個(gè)prototype每次從容器中獲取Bean時(shí),都會(huì)創(chuàng)建一個(gè)新的實(shí)例request用于Web應(yīng)用環(huán)境,針對(duì)每次HTTP請(qǐng)求都會(huì)創(chuàng)建一個(gè)實(shí)例session用于Web應(yīng)用環(huán)境,同一個(gè)會(huì)話共享同一個(gè)實(shí)例,不同的會(huì)話使用不同的實(shí)例global session僅在Portlet的Web應(yīng)用中使用,同一個(gè)全局會(huì)話共享一個(gè)實(shí)例。對(duì)于非Portlet環(huán)境,等同于session 僅適用于WebApplicationContext環(huán)境示例8/23 Spring中Bean的作用
4、域2-2 singleton與prototype區(qū)別:新實(shí)例getBean()getBean()getBean()新實(shí)例新實(shí)例示例示例9/23使用注解指定Bean的作用域使用Scope注解指定Bean的作用域Scope(prototype) Service(userService) public class UserServiceImpl implements UserService / 省略其他代碼示例10/23Spring自動(dòng)裝配3-1 什么是自動(dòng)裝配Spring可以根據(jù)屬性類型、名稱等自動(dòng)進(jìn)行注入如何使用自動(dòng)裝配設(shè)置元素的autowire屬性 示例示例11/23Spring自動(dòng)裝配3-2
5、 Spring提供的4種自動(dòng)裝配類型取值說(shuō)明 no默認(rèn)值。Spring 默認(rèn)不進(jìn)行自動(dòng)裝配,必須顯式指定依賴對(duì)象 byName根據(jù)屬性名自動(dòng)裝配。Spring 自動(dòng)查找與屬性名相同的id,如果找到,則自動(dòng)注入,否則什么都不做 byType根據(jù)屬性的類型自動(dòng)裝配。Spring 自動(dòng)查找與屬性類型相同的Bean,如果剛好找到唯一的那個(gè),則自動(dòng)注入;如果找到多個(gè)與屬性類型相同的Bean,則拋出異常;如果沒(méi)找到,就什么也不做 constructor和byType 類似,不過(guò)它針對(duì)構(gòu)造方法。如果 Spring 找到一個(gè)Bean和構(gòu)造方法的參數(shù)類型相匹配,則通過(guò)構(gòu)造注入該依賴對(duì)象;如果找不到,將拋出異常
6、12/23Spring自動(dòng)裝配3-3 每個(gè)Bean都需要設(shè)置autowire屬性,較繁瑣可以為元素設(shè)置default-autowire屬性,影響全局節(jié)點(diǎn)上autowire的設(shè)置可以覆蓋全局設(shè)置自動(dòng)裝配使得配置文件可以非常簡(jiǎn)潔,但同時(shí)也造成組件之間的依賴關(guān)系不明確,容易引發(fā)一些潛在的錯(cuò)誤,在實(shí)際項(xiàng)目中要謹(jǐn)慎使用 ! 提問(wèn)分析示例注意13/23拆分配置文件拆分策略 為什么需要拆分配置文件項(xiàng)目規(guī)模變大,配置文件可讀性、可維護(hù)性差團(tuán)隊(duì)開(kāi)發(fā)時(shí),多人修改同一配置文件,易發(fā)生沖突拆分策略公用配置+每個(gè)系統(tǒng)模塊一個(gè)單獨(dú)配置文件(包含DAO、Service、Web控制器)公用配置+DAO Bean配置+業(yè)務(wù)邏輯
7、Bean配置+Web控制器配置兩種策略各有特色,適用于不同場(chǎng)合14/23引入拆分后的配置文件 兩種方法利用ClassPathXmlApplicationContext 的重載方法可以配置多個(gè)配置文件,用逗號(hào)隔開(kāi)或者使用通配符使用方式public ClassPathXmlApplicationContext( String configLocation );public ClassPathXmlApplicationContext( String configLocations );以String 方式傳入多個(gè)配置文件名演示示例3:拆分Spring配置文件15/23學(xué)員操作實(shí)現(xiàn)對(duì)訂單表的增刪改操
8、作需求說(shuō)明:實(shí)現(xiàn)訂單表的添加操作實(shí)現(xiàn)根據(jù)訂單id修改訂單信息的操作實(shí)現(xiàn)根據(jù)訂單id刪除訂單信息的操作要求:以Spring集成MyBatis為基礎(chǔ)實(shí)現(xiàn)使用Spring事務(wù)切面實(shí)現(xiàn)聲明式事務(wù)管理分別使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer幾種不同方案進(jìn)行實(shí)現(xiàn)完成時(shí)間:20分鐘練習(xí)16/23共性問(wèn)題集中講解常見(jiàn)問(wèn)題及解決辦法代碼規(guī)范問(wèn)題調(diào)試技巧共性問(wèn)題集中講解 17/23學(xué)員操作實(shí)現(xiàn)對(duì)用戶表的更新操作需求說(shuō)明:實(shí)現(xiàn)根據(jù)用戶id修改用戶信息的操作實(shí)現(xiàn)根據(jù)用戶id刪除用戶信息的操作實(shí)現(xiàn)根據(jù)用戶id修改用戶密碼的操作要求:以Spring集成MyBatis為基礎(chǔ)實(shí)現(xiàn)使用Spring事務(wù)切面實(shí)現(xiàn)聲明式事務(wù)管理分別使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer幾種不同方案進(jìn)行實(shí)現(xiàn)完成時(shí)間:20分鐘練習(xí)18/23共性問(wèn)題集中講解常見(jiàn)問(wèn)題及解決辦法代碼規(guī)范問(wèn)題調(diào)試技巧共性問(wèn)題集中講解 19/23總結(jié)2-1數(shù)據(jù)源配置使用PropertyPlaceholderConfigurer可以加載屬性文件使用JNDI的方式配置數(shù)據(jù)源配置Bean的作用域singletonprototypereq
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美妝護(hù)膚品電商直播銷售渠道授權(quán)合同
- 2025年中級(jí)會(huì)計(jì)實(shí)務(wù)考試復(fù)習(xí)策略與試題及答案
- 如何應(yīng)對(duì)2025年工程法規(guī)考試挑戰(zhàn)試題及答案
- 2025年工程法規(guī)應(yīng)試策略試題
- 2025年工程法規(guī)考試高頻考點(diǎn)及試題及答案
- 合同門(mén)面出租協(xié)議書(shū)
- 醫(yī)藥代理合同協(xié)議書(shū)
- 2025年城市污水處理廠擴(kuò)建項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估與風(fēng)險(xiǎn)評(píng)估方法報(bào)告
- 工程法規(guī)多元化研究試題及答案
- 2025年鹽湖提鋰技術(shù)成本優(yōu)化與產(chǎn)能擴(kuò)張產(chǎn)業(yè)投資前景研究報(bào)告
- 誠(chéng)實(shí)守信立德樹(shù)人主題班會(huì)
- 開(kāi)具無(wú)前科證明申請(qǐng)書(shū)
- 風(fēng)景園林遺產(chǎn)保護(hù)與管理智慧樹(shù)知到課后章節(jié)答案2023年下華南理工大學(xué)
- 高齡老人租房免責(zé)協(xié)議
- 唯識(shí)二十論述記講記(完整版)-智敏上師
- 機(jī)械傷害培訓(xùn)試題(帶答案)
- 高中畢業(yè)生登記表填寫(xiě)樣表(四川版)
- 新教科版六年級(jí)下冊(cè)科學(xué)全冊(cè)重點(diǎn)題型練習(xí)課件(含答案)
- 超敏反應(yīng)及臨床檢驗(yàn)(免疫學(xué)檢驗(yàn)課件)
- 田野考古學(xué)-鄭州大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 大數(shù)據(jù)與法律檢索-湖南師范大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
評(píng)論
0/150
提交評(píng)論