4.Spring應用擴展_第1頁
4.Spring應用擴展_第2頁
4.Spring應用擴展_第3頁
4.Spring應用擴展_第4頁
4.Spring應用擴展_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Spring應用擴展線上線下平臺預習2/23拓展Spring的配置完成超市訂單系統(tǒng)中Spring與MyBatis的集成本章任務3/23本章目標掌握更多配置數(shù)據(jù)源的方法理解Bean的作用域會使用Spring自動裝配會拆分Spring配置文件4/23在Spring中引用屬性文件 數(shù)據(jù)庫連接信息寫在屬性文件中采用PropertyPlaceholderConfigurer可以引入屬性文件,在Spring配置文件中采用諸如$url的方式引用屬性值driver=com.mysql.jdbc.Driverurl=jdbc:mysql:/:3306/smbms?useUnicode=true&characte

2、rEncoding=utf-8user=rootpassword=rootclasspath:perties$的前后不要鍵入空格,以免報錯!!演示示例1:使用屬性文件配置數(shù)據(jù)源5/23使用JNDI數(shù)據(jù)源 通過JNDI從服務器容器中獲取DataSource資源在服務器環(huán)境中配置數(shù)據(jù)源在Spring配置文件引用JNDI資源 java:comp/env/jdbc/smbms 演示示例2:使用JNDI數(shù)據(jù)源6/23學員操作使用屬性文件和JNDI配置數(shù)據(jù)源需求說明:在超市訂單系統(tǒng)的基礎上,使用屬性文件和JNDI兩種方式改造原有系統(tǒng)的Spring配置,并調試運行成功完成時間:20分鐘練習7/23 Spri

3、ng中Bean的作用域2-1 作用域說 明singleton默認值。Spring以單例模式創(chuàng)建Bean的實例,即容器中該Bean的實例只有一個prototype每次從容器中獲取Bean時,都會創(chuàng)建一個新的實例request用于Web應用環(huán)境,針對每次HTTP請求都會創(chuàng)建一個實例session用于Web應用環(huán)境,同一個會話共享同一個實例,不同的會話使用不同的實例global session僅在Portlet的Web應用中使用,同一個全局會話共享一個實例。對于非Portlet環(huán)境,等同于session 僅適用于WebApplicationContext環(huán)境示例8/23 Spring中Bean的作用

4、域2-2 singleton與prototype區(qū)別:新實例getBean()getBean()getBean()新實例新實例示例示例9/23使用注解指定Bean的作用域使用Scope注解指定Bean的作用域Scope(prototype) Service(userService) public class UserServiceImpl implements UserService / 省略其他代碼示例10/23Spring自動裝配3-1 什么是自動裝配Spring可以根據(jù)屬性類型、名稱等自動進行注入如何使用自動裝配設置元素的autowire屬性 示例示例11/23Spring自動裝配3-2

5、 Spring提供的4種自動裝配類型取值說明 no默認值。Spring 默認不進行自動裝配,必須顯式指定依賴對象 byName根據(jù)屬性名自動裝配。Spring 自動查找與屬性名相同的id,如果找到,則自動注入,否則什么都不做 byType根據(jù)屬性的類型自動裝配。Spring 自動查找與屬性類型相同的Bean,如果剛好找到唯一的那個,則自動注入;如果找到多個與屬性類型相同的Bean,則拋出異常;如果沒找到,就什么也不做 constructor和byType 類似,不過它針對構造方法。如果 Spring 找到一個Bean和構造方法的參數(shù)類型相匹配,則通過構造注入該依賴對象;如果找不到,將拋出異常

6、12/23Spring自動裝配3-3 每個Bean都需要設置autowire屬性,較繁瑣可以為元素設置default-autowire屬性,影響全局節(jié)點上autowire的設置可以覆蓋全局設置自動裝配使得配置文件可以非常簡潔,但同時也造成組件之間的依賴關系不明確,容易引發(fā)一些潛在的錯誤,在實際項目中要謹慎使用 ! 提問分析示例注意13/23拆分配置文件拆分策略 為什么需要拆分配置文件項目規(guī)模變大,配置文件可讀性、可維護性差團隊開發(fā)時,多人修改同一配置文件,易發(fā)生沖突拆分策略公用配置+每個系統(tǒng)模塊一個單獨配置文件(包含DAO、Service、Web控制器)公用配置+DAO Bean配置+業(yè)務邏輯

7、Bean配置+Web控制器配置兩種策略各有特色,適用于不同場合14/23引入拆分后的配置文件 兩種方法利用ClassPathXmlApplicationContext 的重載方法可以配置多個配置文件,用逗號隔開或者使用通配符使用方式public ClassPathXmlApplicationContext( String configLocation );public ClassPathXmlApplicationContext( String configLocations );以String 方式傳入多個配置文件名演示示例3:拆分Spring配置文件15/23學員操作實現(xiàn)對訂單表的增刪改操

8、作需求說明:實現(xiàn)訂單表的添加操作實現(xiàn)根據(jù)訂單id修改訂單信息的操作實現(xiàn)根據(jù)訂單id刪除訂單信息的操作要求:以Spring集成MyBatis為基礎實現(xiàn)使用Spring事務切面實現(xiàn)聲明式事務管理分別使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer幾種不同方案進行實現(xiàn)完成時間:20分鐘練習16/23共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調試技巧共性問題集中講解 17/23學員操作實現(xiàn)對用戶表的更新操作需求說明:實現(xiàn)根據(jù)用戶id修改用戶信息的操作實現(xiàn)根據(jù)用戶id刪除用戶信息的操作實現(xiàn)根據(jù)用戶id修改用戶密碼的操作要求:以Spring集成MyBatis為基礎實現(xiàn)使用Spring事務切面實現(xiàn)聲明式事務管理分別使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer幾種不同方案進行實現(xiàn)完成時間:20分鐘練習18/23共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調試技巧共性問題集中講解 19/23總結2-1數(shù)據(jù)源配置使用PropertyPlaceholderConfigurer可以加載屬性文件使用JNDI的方式配置數(shù)據(jù)源配置Bean的作用域singletonprototypereq

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論