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

Posted fishkk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 中使用 @Transactional 注解配置事务管理相关的知识,希望对你有一定的参考价值。

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

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

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

    @Transactional的注解属性介绍

value 和 transactionManager 属性

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

propagation 属性

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

  • Propagation.REQUIRED
    如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。
    搬运实在是太麻烦了 直接贴链接转载博客地址

以上是关于Spring Boot 中使用 @Transactional 注解配置事务管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring-声明式事物

Spring Boot:Spring Boot 中 MongoDB 的使用

Spring Boot:在Spring Boot中使用Mysql和JPA

Spring boot- Spring Boot特性2

使用 Spring Boot Maven 插件时,jar 文件中缺少 Spring Boot 应用程序中的资源

Spring boot中使用jwt