spring 宣告式事務讓我們從複雜的事務處理中得到解脫。使得我們再也無需去處理獲得連線,關閉連線,事務提交和回滾等這些操作。我們在使用 spring 宣告式事務時,有乙個非常重要的概念就是事務屬性。它由事務傳播行為,隔離級別,事務的超時值和事務唯讀標誌組成。
spring 的 transactiondefinition 介面中定義這些屬性,以提供 platfromtransactionmanager 使用,platformtransactionmanager 是 spring 事務管理的核心介面。
public inte***ce transactiondefinition
transactiondefinition 介面中定義的五個隔離級別:
isolation_default 這是乙個 platfromtransactionmanager 預設隔離級別,使用資料庫的隔離級別,另外四個與 jdbc 的隔離級別相對應。
isolation_read_uncommitted 這是事務隔離的最低級別,讀未提交。
isolation_read_committed 讀已提交
isolation_repeatable_read 可重複讀
isolation_serializable 序列化
transactiondefinition 定義了 7 個事務傳播行為
propagation_nested 與propagation_requires_new 的區別
它們都是乙個巢狀事務。如果不存在乙個活動的事務,都會開啟乙個新的事務。使用 propagation_requires_new 時,內層事務和外層事務就像兩個獨立的事務,互不干擾。
使用 propagation_nested 時,外層事務的回滾可以引起內層事務的回滾,而內層事務的異常並不會導致外層事務的回滾,它是乙個真正的巢狀事務。
Spring事務(二) Spring事務的特點
實現事務必須滿足以下四大特性 隔離性 通過mvvc實現 相對應的有mvcc 原子性 一致性 永續性 通過資料庫的redo log undo log force log at commit實現 資料庫是可以控制事務的傳播和隔離級別的,spring在之上又進一步做了封裝,本質上是同一概念。事務的四大特性...
Spring框架 Spring的事務管理
有關事務的概念可以參考 mysql事務。spring當中事務管理的api介面 spring對事務的管理的方式 基於xml形式的事務管理 xmlns xmlns xsi xmlns aop xmlns context xmlns tx xsi schemalocation spring beans 3...
spring再學習(二) spring事務
與關係型資料庫一致,事務都遵循 acid 原則 spring支援程式設計式事務管理以及宣告式事務管理兩種方式。在spring框架,用註解開啟事務 transactional,當然事務有其特性 spring事務的傳播行為有7種 spring在事務中使用isolation來配置它 isolation r...