在spring中配置hibernate事務(wù)

在spring中配置hibernate事務(wù)

ID:3921319

大?。?96.18 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2017-11-25

在spring中配置hibernate事務(wù)_第1頁(yè)
在spring中配置hibernate事務(wù)_第2頁(yè)
在spring中配置hibernate事務(wù)_第3頁(yè)
在spring中配置hibernate事務(wù)_第4頁(yè)
在spring中配置hibernate事務(wù)_第5頁(yè)
資源描述:

《在spring中配置hibernate事務(wù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、本文主要探討怎么用Spring來裝配組件及其事務(wù)管理。在J2EE工程里連接到一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)并不是什么難題,但是如果要綜合組裝企業(yè)類的組件就變得復(fù)雜了。一個(gè)簡(jiǎn)單的組件有一個(gè)或多個(gè)數(shù)據(jù)庫(kù)支撐,所以,我們說到整合兩個(gè)或多個(gè)的組件時(shí),我們希望能夠維持跨組件的許多數(shù)據(jù)庫(kù)的運(yùn)作的原子性。J2EE提供了這些組件的容器,可以保證處理的原子性和獨(dú)立性。在沒有J2EE的情況下我們可以用Spring。Spring基于IoC模式(即反轉(zhuǎn)模式),不僅可以配置組件服務(wù),還可以配置相應(yīng)的方法。為了更好的實(shí)現(xiàn)本文的目的,我們使用Hibernate來做相應(yīng)的后臺(tái)開發(fā)。裝配組件事務(wù)假設(shè)

2、在組件庫(kù)里,我們已經(jīng)有一個(gè)審核組件(auditcomponent),里面有可以被客戶端調(diào)用的方法。接著,當(dāng)我們想要構(gòu)建一個(gè)處理訂單的體系,我們發(fā)現(xiàn)設(shè)計(jì)需要的OrderListManager組件服務(wù)同樣需要審核組件服務(wù)。OrderListManager創(chuàng)建和管理訂單,每一個(gè)服務(wù)都含有自己的事務(wù)屬性。當(dāng)這時(shí)調(diào)用審核組件,就可以把OrderListManager的處理內(nèi)容傳給它。也許將來新的業(yè)務(wù)服務(wù)(businessservice)同樣需要審核組件,那這時(shí)它調(diào)用的事務(wù)內(nèi)容已經(jīng)不一樣了。在網(wǎng)絡(luò)上的結(jié)果就是,雖然審核的功能保持不變,但是可以和別的事件功能組合在一

3、起,用這些方法屬性來提供不同的運(yùn)行時(shí)的處理參數(shù)。在圖1中有兩個(gè)分開的調(diào)用流程。在流程1里,如果客戶端含有一個(gè)TX內(nèi)容,OrderListManager要由一個(gè)新的TX開始或者參與其中,取決于客戶端在不在TX里以及OrderListManager方法指定的TX屬性。這在它調(diào)用AuditManager方法的時(shí)候仍然適用。圖1.裝配組件事務(wù)EJB體系通過裝配者聲明正確的事務(wù)屬性來獲得這種適應(yīng)性。我們不是在探討是否聲明事務(wù)管理,因?yàn)檫@會(huì)使運(yùn)行時(shí)的事務(wù)參數(shù)代碼發(fā)生改變。幾乎所有的J2EE工程提供了分布的事務(wù)管理來配合提交協(xié)議例如X/OpenXAspecifica

4、tion?,F(xiàn)在的問題是我們能不能不用EJB來獲得相同的功能?Spring是其中一種解決方案。來看一下Spring如何處理這樣的問題:用Spring來管理事務(wù)我們將看到的是一個(gè)輕量級(jí)的事務(wù)機(jī)制,實(shí)際上,它可以管理組件層的事務(wù)集成。Spring就是如此。它的優(yōu)點(diǎn)是我們可以不用捆綁在J2EE的服務(wù)例如JNDI數(shù)據(jù)庫(kù)。最棒的是如果我們想把這個(gè)事務(wù)機(jī)制與已經(jīng)存在的J2EE框架組合在一起,沒有任何問題,就好像我們找到了杠桿中完美的支撐點(diǎn)一樣。Spring的另一個(gè)機(jī)制是使用了AOP框架。這個(gè)框架使用了一個(gè)可以使用AOP的Springbeanfactory。在Spri

5、ng特定的配置文件applicationContext.xml里通過特定的組件層的事件來指定。

6、="target">PROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIRED

7、tem">PROPAGATION_REQUIRED,-com.example.exception.FacadeExceptionPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnly一旦我們?cè)诜?wù)層指定了事務(wù)屬性,它們就被一個(gè)繼承org.springframewo

8、rk.transaction.PlatformTransactionManager接口的類截獲

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。