Spring 之Spring 事務傳播行為

2021-10-17 01:42:08 字數 705 閱讀 1067

支援當前事務的情況:

transactiondefinition.propagation_required: 如果當前存在事務,則加入該事務;如果當前沒有事務,則建立乙個新的事務。

transactiondefinition.propagation_supports: 如果當前存在事務,則加入該事務;如果當前沒有事務,則以非事務的方式繼續執行。

transactiondefinition.propagation_mandatory: 如果當前存在事務,則加入該事務;如果當前沒有事務,則丟擲異常。(mandatory:強制性)

不支援當前事務的情況:

transactiondefinition.propagation_requires_new: 建立乙個新的事務,如果當前存在事務,則把當前事務掛起。

transactiondefinition.propagation_not_supported: 以非事務方式執行,如果當前存在事務,則把當前事務掛起。

transactiondefinition.propagation_never: 以非事務方式執行,如果當前存在事務,則丟擲異常。

其他情況:

transactiondefinition.propagation_nested: 如果當前存在事務,則建立乙個事務作為當前事務的巢狀事務來執行;如果當前沒有事務,則該取值等價於transactiondefinition.propagation_required。

Spring開發基礎之Spring事務管理

spring提供的事務管理 spring提供的事務管理可以分為兩類 程式設計式的和宣告式的。程式設計式的,比較靈活,但是 量大,存在重複的 比較多 宣告式的比程式設計式的更靈活。傳統使用jdbc的事務管理 以往使用jdbc進行資料操作,使用datasource,從資料來源中得到connection,...

Spring事務(一) Spring事務的使用

事務的經典舉例 某人要在商店使用電子貨幣購買100元的東西,當中至少包括兩個操作 該人賬戶減少100元 商店賬戶增加100元 事務就是要確保以上兩個操作 都能完成 或者 一起取消,否則就會出現100元平白消失或出現的情況。摘自wiki spring事務有兩種方式 程式設計式事務管理 宣告式事務管理 ...

Spring事務(二) Spring事務的特點

實現事務必須滿足以下四大特性 隔離性 通過mvvc實現 相對應的有mvcc 原子性 一致性 永續性 通過資料庫的redo log undo log force log at commit實現 資料庫是可以控制事務的傳播和隔離級別的,spring在之上又進一步做了封裝,本質上是同一概念。事務的四大特性...