4.Spring應(yīng)用擴(kuò)展_第1頁(yè)
4.Spring應(yīng)用擴(kuò)展_第2頁(yè)
4.Spring應(yīng)用擴(kuò)展_第3頁(yè)
4.Spring應(yīng)用擴(kuò)展_第4頁(yè)
4.Spring應(yīng)用擴(kuò)展_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論