springboot 让事务生效@Transactional的注意事项

1、在启动类上加上注解 @EnableTransactionManagement,即将事务交给spring管理

@EnableTransactionManagement

 2、在类上或者方法上加上  @Transactional (rollbackFor = {Exception.class})

@Transactional(rollbackFor = {Exception.class})
public String test() {
    return "aaa";
}

 

注意:

@Transactional可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有public方法将都具有该类型的事务属性。

但是Spring建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。

另外,@Transactional注解应该只被应用到public方法上,这是由Spring AOP的本质决定的。

必须抛出异常才会回滚,若使用try-catch对其异常捕获则不会进行回滚!

 

手动回滚:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

 

posted @   得好好活  阅读(631)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示