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