Spring 事務相關

2021-10-23 08:43:22 字數 772 閱讀 1657

我們可以看 org.springframework.transaction.annotation.isolation 列舉類中定義了五個表示隔離級別的值:

public enum isolation

通過使用 isolation 屬性設定,例如:

@transactional(isolation = isolation.default)

所謂事務的傳播行為是指,如果在開始當前事務之前,乙個事務上下文已經存在,此時有若干選項可以指定乙個事務性方法的執行行為。

我們可以看 org.springframework.transaction.annotation.propagation 列舉類中定義了6個表示傳播行為的列舉值:

public enum propagation

通過使用 propagation 屬性設定,例如:

@transactional(propagation = propagation.required)

1、內外都無try catch的時候,外部異常,全部回滾。

2、內外都無try catch的時候,內部異常,全部回滾。

3、外部有try catch時候,內部異常,全部回滾

4、內部有try catch,外部異常,全部回滾

注意點:外層方法中調取其他介面,或者另外開啟執行緒的操作,一定放到最後!!!(因為調取介面不能回滾,一定要最後來處理)

由於上面的異常**獲導致,很多事務回滾失敗。如果一定要將捕獲,請捕獲後又丟擲runtimeexception(預設為異常捕獲runtimeexception)。

Spring事務理論相關

一 spring的4種事務特性 原子性 atomicity 事務是不可分割的。一致性 consistency 事務執行前後資料的完整性保持一致。隔離性 isolation 乙個事務執行過程中,不受到其他事務的干擾。永續性 durability 事務結束後,資料持久到資料庫中。二 隔離級別 1.如果不...

spring事務回滾相關

事務的作用就是為了保證使用者的每乙個操作都是可靠的,事務中的每一步操作都必須成功執行,只要有發生異常就回退到事務開始未進行操作的狀態。在實際專案中,使用事務是很簡單的,在 spring 專案中,乙個 transactional 註解就可以解決。1.異常並沒有被 捕獲 到 這是個很常見的小坑,異常並沒...

spring事務的相關知識點

4 事務管理失效的情況 所謂spring事務的傳播屬性,就是定義多個事務同時存在的時候,spring應該如何處理這些事務的行為。簡單來講就是 乙個開啟事務的方法執行在另乙個開啟了事務的方法中是,當前方法是開啟乙個新的事物還是使用同乙個事務 這些屬性在transactiondefinition中定義,...