@Transactional注解最容易忽视的三个失效场景!
生活随笔
收集整理的這篇文章主要介紹了
@Transactional注解最容易忽视的三个失效场景!
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@Transactional注解在以下場景中使用,是會失效的,切記!
1、非public方法
spring對注解事務(wù)的方法進(jìn)行校驗,修飾符是不是public,不是 public則不會獲取@Transactional 的屬性配置信息。
2、注解@Transactional的方法不是事務(wù)主方法,在子方法中進(jìn)行注解
@Transactional
public void A(){try{this.B();}catch(Exception e){logger.error();}
}
此時,B方法報錯后被A捕捉,事務(wù)失效。
3、@Transactional注解后未加(rollbackFor = Exception.class)
不加(rollbackFor = Exception.class)的話,當(dāng)方法中報錯,報錯前的內(nèi)容會進(jìn)行提交,而不會進(jìn)行回滾,也就不會達(dá)到事務(wù)的效果。
以上!
總結(jié)
以上是生活随笔為你收集整理的@Transactional注解最容易忽视的三个失效场景!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从命令行到IDE,版本管理工具Git详解
- 下一篇: 使用Maven打包生成的-SNAPSHO