自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

導致Spring事務失效的原因有哪些?

開發(fā) 架構
下面給大家總結一下,導致Spring事務失效的原因主要有以下8個。

?一位2年工作經(jīng)驗的小伙伴被問到這樣一道面試題,說請你談談導致Spring事務失效的原因有哪些?

今天,我給大家分享一下我的理解。

下面給大家總結一下,導致Spring事務失效的原因主要有以下8個:

圖片

1、方法沒有被public修飾

在開發(fā)過程中,如果@Transactional事務注解添加在不是public修飾的方法上,這個時候,Spring的事務就會失效。

圖片

2、類沒有被Spring托管

如果事務方法所在的類沒有加載到Spring IoC容器中,也就是說,事務方法所在的類沒有被Spring管理,從而導致Spring無法實現(xiàn)代理,所以,Spring事務也會失效。

圖片

3、不正確的異常捕獲

如果事務方法拋出異常被 catch 處理了,導致 @Transactional 無法回滾而導致事務失效。

圖片

4、同一類中方法調用

如果同一個類中的兩個方法分別為A和B,方法A上沒有添加事務注解,方法B上添加了 @Transactional事務注解,方法A調用方法B,那么,方法B的事務會失效。

圖片

5、propagation事務傳播行為配置錯誤

如果內部方法的事務傳播類型為不支持事務的傳播類型,那么,內部方法的事務在Spring中會失效。

圖片

6、rollbackFor參數(shù)設置錯誤

如果在@Transactional注解中rollbackFor參數(shù)標注了錯誤的異常類型,那么,Spring事務的回滾就無法識別,導致事務回滾失效。

圖片

7、沒有配置事務管理器

即使在代碼中使用了Spring的事務管理的功能,但是在項目中,如果沒有配置Spring的事務管理器,Spring的事務也不會生效。

圖片

8、數(shù)據(jù)庫本身不支持事務

Spring事務生效的前提是所連接的數(shù)據(jù)庫要支持事務,如果底層的數(shù)據(jù)庫都不支持事務,那么,Spring的事務肯定會失效。例如,如果使用的數(shù)據(jù)庫為MySQL,并且選用了MyISAM存儲引擎,則Spring的事務就會失效。

以上就是我對Spring事務失效原因的理解。

責任編輯:姜華 來源: Tom彈架構
相關推薦

2022-08-27 14:14:06

Spring事務開發(fā)

2021-12-13 11:12:41

Spring事務失效

2020-11-12 19:30:37

Spring失效事務

2022-02-14 16:53:57

Spring項目數(shù)據(jù)庫

2021-04-15 08:01:27

Spring聲明式事務

2022-04-13 20:53:15

Spring事務管理

2022-12-06 10:39:43

Spring事務失效

2022-07-05 14:19:30

Spring接口CGLIB

2022-09-14 19:50:22

事務場景流程

2024-09-09 08:29:25

2024-01-29 08:28:01

Spring事務失效

2025-02-10 00:27:54

2021-09-04 07:56:44

Spring事務失效

2022-05-11 07:41:55

死鎖運算線程

2019-08-26 09:15:09

設計技術人生第一份工作

2023-07-05 08:45:18

Spring事務失效場景

2023-05-26 07:19:49

Spring聲明式事務

2024-01-05 14:20:55

MySQL索引優(yōu)化器

2010-05-05 09:33:46

Oracle事務

2023-03-09 07:13:40

數(shù)字化轉型交付
點贊
收藏

51CTO技術棧公眾號