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

下載本文檔

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

文檔簡介

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

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

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

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

提交評論