Spring之事务

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


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

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

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

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

相关推荐
tod11313 小时前
Redis 分布式锁进阶:从看门狗到 Redlock 的高可用实践
数据库·redis·分布式
山岚的运维笔记13 小时前
SQL Server笔记 -- 第69章:时态表
数据库·笔记·后端·sql·microsoft·sqlserver
一只理智恩13 小时前
向量数据库在AI领域的核心作用、优势与实践指南
数据库·人工智能
那个松鼠很眼熟w13 小时前
1.JDBC程序的一般步骤
数据库
亓才孓13 小时前
【SQLSyntaxErrorException】SQL语法错误
数据库·sql·mybatis
一个响当当的名号14 小时前
lectrue16 二阶段锁
jvm·数据库
laplace012314 小时前
第二章 字符串和文本 下
服务器·数据库·python·mysql·agent
渣瓦攻城狮14 小时前
互联网大厂Java面试:Spring、微服务与消息队列技术详解
java·redis·spring·微服务·消息队列·面试指南·程序员面试
玹外之音14 小时前
Spring AI 工具调用实战:手把手教你让 AI 拥有"超能力"
spring·openai
熊文豪14 小时前
文档数据库替换:金仓数据库MongoDB兼容性全解析
数据库·mongodb·kingbasees·金仓数据库·电科金仓