Spring中的事務(wù)管理實例詳解_第1頁
Spring中的事務(wù)管理實例詳解_第2頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 Spring 中的事務(wù)管理實例詳解本文實例講述了 Spring 中的事務(wù)管理。分享給大家供大家參考。具體分析如下:事務(wù)簡介:事務(wù)管理是企業(yè)級應(yīng)用程序開發(fā)中必不可少的技術(shù),用來確保數(shù)據(jù)的完整性和一致性事務(wù)就是一系列的動作,它們被當作一個單獨的工作單元。這些動作要么全部完成,要么全部不起作用事務(wù)的四個關(guān)鍵屬性(ACID) 原子性(atomicity):事務(wù)室一個原子操作,有一系列動作組成。事務(wù)的原子性確保動作要么全部完成,要么完全不起作用 一致性(consistency):一旦所有事務(wù)動作完成,事務(wù)就被提交。數(shù)據(jù)和資源就處于一種滿足業(yè)務(wù)規(guī)則的一致性狀態(tài)中 隔離性(isolation):可能有許多

2、事務(wù)會同時處理相同的數(shù)據(jù),因此每個事物都應(yīng)該與其他事務(wù)隔離開來,防止數(shù)據(jù)損壞 持久性(durability):一旦事務(wù)完成,無論發(fā)生什么系統(tǒng)錯誤,它的結(jié)果都不應(yīng)該受到影響。通常情況下,事務(wù)的結(jié)果被寫到持久化存儲器中 Spring 中的事務(wù)管理作為企業(yè)級應(yīng)用程序框架,Spring 在不同的事務(wù)管理 API 之上定義了一個抽象層。而應(yīng)用程序開發(fā)人員不必了解底層的事務(wù)管理 API,就可以使用 Spring 的事務(wù)管理機制。Spring 既支持編程式事務(wù)管理,也支持聲明式的事務(wù)管理編程式事務(wù)管理:將事務(wù) 管理代碼嵌入到業(yè)務(wù)方法中來控制事務(wù)的提交和回滾,在編程式事務(wù)中,必須在每個業(yè)務(wù)操作中包含額外的事務(wù)

3、管理代碼聲明式事務(wù)管理:大多數(shù)情況下比編程式事務(wù)管理更好用。它將事務(wù)管理代碼從業(yè)務(wù)方法中分離出來,以聲明的方式來實現(xiàn)事務(wù)管理。事務(wù)管理作為一種橫切關(guān)注點,可以通過 AOP 方法模塊化。Spring 通過 Spring AOP 框架支持聲明式事務(wù)管理。Spring 事務(wù)的傳播屬性:當事務(wù)方法被另一個事務(wù)方法調(diào)用時,必須指定事務(wù)應(yīng)該如何傳播。例如:方法可能繼續(xù)在現(xiàn)有事務(wù)中運行,也可能開啟一個新事務(wù),并在自己的事務(wù)中運行。事務(wù)的傳播行為可以由傳播屬性指定。Spring 定義了 7 種傳播行為: Spring 支持的事務(wù)傳播行為傳播行為 含義 PROPAGATION_MANDATORY表示該方法必須在

4、事務(wù)中運行,如果當前事務(wù)不存在,則會拋出一個異常 PROPAGATION_NESTED 表示如果當前已經(jīng)存在一個事務(wù),那么該方法將會在嵌套事務(wù)中運行。嵌套的事務(wù)可以獨立于當前事務(wù)進行單獨地提交或回滾。如果當前事務(wù)不存在,那么其行為與 PROPAGATION_REQUIRED一樣。注意各廠商對這種傳播行為的支持是有所差異的。可以參考資源管理器的文檔來確認它們是否支持嵌套事務(wù)PROPAGATION_NEVER表示當前方法不應(yīng)該運行在事務(wù)上下文中。如果當前正有一個事務(wù)在運行,則會拋出異常 PROPAGATION_NOT_SUPPORTED 表示該方法不應(yīng) 該運行在事務(wù)中。如果存在當前事務(wù),在該方法運行期間,當前事務(wù)將被掛起。如果使用 JTATransactionManager的話,則需要訪問 TransactionManagerPROPAGATION_REQUIRED 表示當前方法必須運行在事務(wù)中。如果當前事務(wù)存在,方法將會在該事務(wù)中運行。否則,會啟動一個新的事務(wù) PROPAGATION_REQUIRED_NEW表示當前方法必須運行在它自己的事務(wù)中。一個新的事務(wù)將被啟動。如果存在當前事務(wù),在該方法執(zhí)行期間,當前事務(wù)會被掛起。如果使用 JTATransactionManager的話,則需要訪問 Transa

溫馨提示

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

評論

0/150

提交評論