SSH輕量級框架實踐課件:Spring與Struts、Hibernate的集成_第1頁
SSH輕量級框架實踐課件:Spring與Struts、Hibernate的集成_第2頁
SSH輕量級框架實踐課件:Spring與Struts、Hibernate的集成_第3頁
SSH輕量級框架實踐課件:Spring與Struts、Hibernate的集成_第4頁
SSH輕量級框架實踐課件:Spring與Struts、Hibernate的集成_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Spring與Struts、Hibernate的集成本章目標掌握Spring與Hibernate的集成掌握Spring與Struts的集成掌握聲明式事務本章簡介前面我們學習了Spring“依賴注入”和“面向方面編程”的原理和簡單應用。這些技術怎樣用到我們的項目中呢?本章我們就以租房系統中的用戶模塊為例,學習如何使用Spring簡化DAO層代碼、與Hibernate集成、管理依賴關系和管理事務。還要掌握Spring與Struts1的集成,Spring與Struts2的集成將在上機部分講述。使用Spring重新組裝Web程序使用Spring管理依賴關系我們的程序依賴關系是這樣的:Action依賴Biz,Biz依賴DAO,DAO依賴SessionFactory,SessionFactory依賴DataSource。如果使用Spring管理這些依賴關系,注入的方向剛好與依賴的方向相反Spring與Struts1集成我們知道,在Struts1中Action類的實例是由Struts創建的。如果要使用Spring管理Action對Biz的依賴,那么Action類就要由Spring來創建。那么,我們怎么對Struts說“Spring已經把ActionBean創建好了,拿過去用就可以了”呢?Struts可以以插件的方式擴展,我們利用Spring提供的ContextLoaderPlugln插件即可做到Spring和Struts無縫集成。具體的步驟如下:Spring與Struts1集成在Struts配置文件中配置插件在struts-config.xml中,需要把Spring配置文件的位置告知插件。classpath:applicationContext.xml表示到classpath下去找applicationContext.xml文件。如果Spring配置文件放在/WEB-INF/下,可以這樣配置:value="/WEB-INF/applicationContext.xml"。如果有多個Spring配置文件,可以用逗號隔開,同時配置多個路徑,如:value="/WEB-INF/applicationContext.xml,/WEB-INF/action.xml"。將Struts配置文件中所有Action類的type屬性值都配置為“org.springfranqework.web.struts.DelegatingActionProxy”類型在Spring配置文件中配置UserAction,如示例代碼11-10所示,注意這里<bean>沒有id屬

性了,而是name屬性,而且name屬性的值要與Struts配置中相應ActionBean的path屬性一致。

另外一個做法是將業務邏輯放到DAO層實現,DAO層依據業務邏輯創建方法,編寫復雜的業務邏輯處理代碼,這樣進行架構設計的系統很快就會嘗到苦果。當參加項目的人員達到一定數量,或者項目開發周期到一定時間,或者項目維護到一定時間的時候,人們發現這些系統的代碼已經變得千頭萬緒了,剪不斷,理還亂。在軟件生產大工廠時代,質量是軟件的生命線,是客戶源源不斷的重要保障,是大把大把人民幣的重要前提,是免于周末加班,凌晨兩點被電話吵醒,不得不去緊急解決客戶問題的護身符,是看著別人瞎忙半個月也平不了一張報表,自己卻可以悠閑地品口香茶、翻兩頁閑書時心頭暗存的僥幸。一定要隨時保證你的軟件邏輯清晰、規范易讀。不要抱著僥幸的心理破壞規矩。概念完整性說起來很玄虛,但當你違背它的時候,它的反面就會變得形象而具體。聲明式事務key表示匹配方法的“模式”,可以使用“*”通配符,例如,“add*”表示這條屬性應用于add開頭的方法。屬性的值為PROPAGATION_REQUIRED,表示當前方法必須運行在一個事務環境中。如果一個現有事務正在運行中,該方法將運行在這個事務中,否則,就要開始一個新的事務。可選的值如下:PROPAGATION_MANDATORY,表示當前方法必須運行在一個事務上下文中,否則就拋出異常。PROPAGATION_NEVER,表示當前方法不應該運行在一個事務上下文中,否則就拋出異常。PROPAGATION_REQUIRESNEW,表示當前方法必須運行在自己的事務里。PROPAGATION_SUPPORTS,表示當前方法不需要事務處理環境,但如果有一個事務正在運行的話,這個方法也可以運行在這個事務里。Spring聲明事務的方式Spring對分布式事務的配置方法進行了升級。配置過程更容易理解,而且我們可以在保持示例代碼11-7配置代碼不變的基礎上給UserBizBean的方法增加事務支持。首先,我們要升級項目中Spring的版本:。添加Spring2.5的jar包,包括springjal、aspectjrt.jar、aspectjweaver.jar和cglibnodep-2.1_3jar。修改Spring配置文件,增加常用命名空間的聲明,總結Spring為Hibernate開發提供了良好的支持,可以大大簡化Hiberante的編碼。

在Spring配置文件定義dataSource、SessionFactory再注入DAO中是開發中常用的做法。Spring依賴

溫馨提示

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

評論

0/150

提交評論