Spring之事务

当我们在某个方法上加了@Transactional注解后,就表示该方法在调用时会开启Spring事务,而这个方法所在的类所对应的Bean对象会是该类的代理对象。


Spring事务的代理对象执行某个方法时的步骤:

java 复制代码
1. 判断当前执行的方法是否存在@Transactional注解
2. 如果存在,则利用事务管理器(TransactionMananger)新建一个数据库连接
3. 修改数据库连接的autocommit为false
4. 执行target.test(),执行程序员所写的业务逻辑代码,也就是执行sql
5. 执行完了之后如果没有出现异常,则提交,否则回滚

Spring事务是否会失效的判断标准:某个加了@Transactional注解的方法被调用时,要判

断到底是不是直接被代理对象调用的,如果是则事务会生效,如果不是则失效。

相关推荐
hongtianzai14 分钟前
MySQL中between and的基本用法
android·数据库·mysql
隔壁小邓23 分钟前
数据库中间件全景解析:从连接管理到分布式协同
数据库·分布式·中间件
lcrml24 分钟前
Redis简介、常用命令及优化
数据库·redis·缓存
一只努力的微服务24 分钟前
【Calcite 系列】深入理解 Calcite 的 IntersectToSemiJoinRule
大数据·数据库·calcite·优化规则
todoitbo29 分钟前
从「亡羊补牢」到「规则先行」:金仓数据库 SQL 防火墙实战解析
数据库·sql·数据安全·防火墙·金仓数据库
代码探秘者43 分钟前
【大模型应用】4.分块之六大策略
java·数据结构·后端·python·spring
艾莉丝努力练剑1 小时前
【MYSQL】MYSQL学习的一大重点:数据库基础
linux·运维·服务器·数据库·c++·学习·mysql
I'mAlex1 小时前
金仓数据库赋能北京一卡通:国产数据库在民生核心系统的信创实践标杆
数据库·kingbasees
xcLeigh1 小时前
千日稳定守护,金仓数据库赋能北京一卡通斩获鼎信杯奖项
大数据·数据库·数据迁移·迁移·交通·金仓数据库·一卡通