SpringBoot中@Transactional注解为何总是失效,是哪里出了问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1785个文字,预计阅读时间需要8分钟。
一:在SpringBoot中使用事务遇到的坑
1.我们知道Spring中的事务分为两种:一种是编程式事务,另一种是声明式事务。编程式事务是通过代码手动控制事务的开启、提交和回滚,而声明式事务则是通过配置文件或注解来管理事务。编程式事务是直接通过代码去实现事务管理,这里不做过多解释。
一:在springboot中使用事物遇到的坑
1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物。顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明。另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置。因为在springboot项目中,会自动配置DataSourceTransactionManager,我们只需要在对应的方法上或者类上加上@Transaction就会自动接入到spring的事物中,让spring管理。
2.继续踩坑
**01坑:**如下图所示,我这边本地调用接口修改数据库张三口袋里面的金额,并且启用了事物管理,抛出RuntimeExecption。这时我们调用接口,我们可以看到事物生效了,数据库里面值并没有发生改变。
本文共计1785个文字,预计阅读时间需要8分钟。
一:在SpringBoot中使用事务遇到的坑
1.我们知道Spring中的事务分为两种:一种是编程式事务,另一种是声明式事务。编程式事务是通过代码手动控制事务的开启、提交和回滚,而声明式事务则是通过配置文件或注解来管理事务。编程式事务是直接通过代码去实现事务管理,这里不做过多解释。
一:在springboot中使用事物遇到的坑
1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物。顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明。另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置。因为在springboot项目中,会自动配置DataSourceTransactionManager,我们只需要在对应的方法上或者类上加上@Transaction就会自动接入到spring的事物中,让spring管理。
2.继续踩坑
**01坑:**如下图所示,我这边本地调用接口修改数据库张三口袋里面的金额,并且启用了事物管理,抛出RuntimeExecption。这时我们调用接口,我们可以看到事物生效了,数据库里面值并没有发生改变。

