SpringBoot中@Transactional注解为何总是失效,是哪里出了问题?

2026-04-19 18:260阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1785个文字,预计阅读时间需要8分钟。

SpringBoot中@Transactional注解为何总是失效,是哪里出了问题?

一:在SpringBoot中使用事务遇到的坑

1.我们知道Spring中的事务分为两种:一种是编程式事务,另一种是声明式事务。编程式事务是通过代码手动控制事务的开启、提交和回滚,而声明式事务则是通过配置文件或注解来管理事务。编程式事务是直接通过代码去实现事务管理,这里不做过多解释。

一:在springboot中使用事物遇到的坑

1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物。顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明。另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置。因为在springboot项目中,会自动配置DataSourceTransactionManager,我们只需要在对应的方法上或者类上加上@Transaction就会自动接入到spring的事物中,让spring管理。

2.继续踩坑

**01坑:**如下图所示,我这边本地调用接口修改数据库张三口袋里面的金额,并且启用了事物管理,抛出RuntimeExecption。这时我们调用接口,我们可以看到事物生效了,数据库里面值并没有发生改变。

阅读全文

本文共计1785个文字,预计阅读时间需要8分钟。

SpringBoot中@Transactional注解为何总是失效,是哪里出了问题?

一:在SpringBoot中使用事务遇到的坑

1.我们知道Spring中的事务分为两种:一种是编程式事务,另一种是声明式事务。编程式事务是通过代码手动控制事务的开启、提交和回滚,而声明式事务则是通过配置文件或注解来管理事务。编程式事务是直接通过代码去实现事务管理,这里不做过多解释。

一:在springboot中使用事物遇到的坑

1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物。顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明。另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置。因为在springboot项目中,会自动配置DataSourceTransactionManager,我们只需要在对应的方法上或者类上加上@Transaction就会自动接入到spring的事物中,让spring管理。

2.继续踩坑

**01坑:**如下图所示,我这边本地调用接口修改数据库张三口袋里面的金额,并且启用了事物管理,抛出RuntimeExecption。这时我们调用接口,我们可以看到事物生效了,数据库里面值并没有发生改变。

阅读全文