spring 事物的幾種傳播方式

2021-09-27 02:27:37 字數 477 閱讀 5089

1.propagation_required

spring預設的事務方式,如果當前存在事務,沿用當前事務,不存在事務,開啟乙個事務

2.propagation_suports

以當前事務方式執行,當前沒事務,不開啟新的事務

3.propagation_mandatory

強制要有事務,以當前事務方式執行,當前不存在事務,丟擲異常

4.propagation_requires_new

總是開啟乙個新的事務,當前存在事務,將當前事務掛起

7.propagation_not_supported

以非事務方式執行,如存在事務,講當前事務掛起

6.propagation_never

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

7.propagation_nested

巢狀事務,如果當前存在事務,則在巢狀事務中執行,如果沒事務,則以required方式執行

Spring事物的傳播

spring的事物對於同乙個類內部呼叫是不會生效的。比如乙個servicea,裡面有個方法x 和y 其中x沒有配置事物,而y配置的有實物。如果是乙個沒有事物的serviceb呼叫了servicea的x方法,而在x裡面直接通過this.y 的方式呼叫y方法。那麼y是不會有實物的,就算配置成propag...

spring事物傳播性

propagation propagation.required 如果有事務,那麼加入事務,沒有的話新建乙個 預設情況下 transactional propagation propagation.not supported 容器不為這個方法開啟事務 transactional propagatio...

spring事物傳播行為

propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙個事務中,加入到這個事務中。這是最常見的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation mandatory 使用當前的事務,如果當前沒...