Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。

使用@Transactional时需要验证的两点

  • Spring的默认回滚异常类型为RuntimeException和Error,需要回滚其他类型的异常需要使用rollbackFor属性来指定多个需要回滚的异常类型
  • Spring 的@Transactional只在public方法上注释才会生效

@Transactional的注解属性介绍

value 和 transactionManager 属性

它们两个是一样的意思。当配置了多个事务管理器时,可以使用该属性指定选择哪个事务管理器。

propagation 属性

事务的传播行为,默认值为 Propagation.REQUIRED。
可选值有

  • Propagation.REQUIRED
    如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。
    搬运实在是太麻烦了 直接贴链接转载博客地址
posted @ 2019-09-30 13:51  fishkk  阅读(791)  评论(0编辑  收藏  举报