Spring事務概述

2021-09-05 09:28:00 字數 1334 閱讀 6871

它是乙個介面,是spring用於管理事務的真正的物件(即spring底層是通過platformtransactionmanager進行事務管理的)

用於定義事務的相關的資訊,隔離級別、超時資訊、傳播行為、是否唯讀

用於記錄在事務管理過程中,事務的狀態的物件

spring進行事務管理的時候,首先平台事務管理器根據事務定義資訊進行事務的管理,在事務管理過程中,產生各種狀態,將這些狀態的資訊記錄到事務狀態的物件中

主要用來解決業務層中複雜的業務邏輯,即業務層之間方法的相互呼叫

spring中提供了七種事務的傳播行為,這七種事務的傳播行為又可分為三類:

propagation_required

預設值,如果a中有事務,使用a中的事務,如果a沒有,建立乙個新的事務,將操作包含進來(如下圖所示:當a操作中已經有乙個事務了,而b操作中包含了a操作,這時b操作將與a操作公用事務,即事務包含了a操作和b操作)

propagation_supports支援事務,如果a中有事務,使用a中的事務。如果a沒有事務,不使用事務

propagation_mandatory如果a中有事務,使用a中的事務。如果a沒有事務,則丟擲異常

propagation_requires_new如果a中有事務,將a的事務掛起(暫停),建立新事務,只包含自身操作。如果a中沒有事務,建立乙個新事務,包含自身操作(比如下圖中a操作有事務,而b操作在執行**時,先把a的事務掛起,然後自己新建乙個事務包含dao3.c()和dao4.d()方法)

propagation_not_supported如果a中有事務,將a的事務掛起。不使用事務管理

propagation_never如果a中有事務,報異常(以非事務的方式執行)

propagation_nested巢狀事務,如果a中有事務,按照a的事務執行,執行完成後,設定乙個儲存點,執行b中的操作,如果沒有異常,執行通過,如果有異常,可以選擇回滾到最初始位置,也可以回滾到儲存點

Spring事務概述

1 什麼是事務 邏輯上的一組操作,組成這組操作的各個單元,要麼全成功,要麼全失敗 2 事務的特性 1.原子性 事務不可分割 2.一致性 事務執行前後資料完整性保持一致 3.隔離性 乙個事務的執行不應該受到其他事務的干擾 4.永續性 一旦事務結束,資料就持久化到資料庫 3 如果不考慮隔離性引發安全性問...

Spring 事務 事務控制

0 註解 autowire 自動注入 url url b 1 spring專案中事務手動回滾 b transactionaspectsupport.currenttransactionstatus setrollbackonly 或者丟擲異常 transactional rollbackfor pu...

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

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