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

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

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

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

    @Transactional的注解属性介绍

value 和 transactionManager 属性

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

propagation 属性

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

  • Propagation.REQUIRED
    若是当前存在事务,则加入该事务,若是当前不存在事务,则建立一个新的事务。
    搬运实在是太麻烦了 直接贴连接转载博客地址
相关文章
相关标签/搜索