spring声明式事务配置代码(学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性)
2023-01-18
一 、Spring声明式事务管理
1 、事务四大特征(ACID)
(1)原子性
(2)一致性
(3)隔离性
(4)持久性
2 、事务三种行为
(1)开启事务:connection.setAutoCommit(False)
(2)提交事务:connection.commit()
(3)回滚事务:connection.rollback()
二 、Spring中支持事务管理
1 、编程式事务管理
(1)获取数据库连接Connection对象
(2)取消事务的自动提交(开启事务)
(3)执行操作
(4)正常完成操作时手动提交事务
(5)执行失败时回滚事务
(6)关闭相关资源
2 、声明式事务管理(使用AOP管理事务)
先横向提取(事务管理代码) ,再动态织入
三 、使用声明式事务管理
注:如果不使用事务管理代码 ,会出现以下情况:
同一个业务中 ,会出现局部成功及局部失败的现象(不正常) 。
1 、基本使用步骤
(1)添加支持jar包
(2)编写配置文件
①配置事务管理器
②开启事务注解支持
(3)在需要事务管理的业务方法上添加注解@Transational
注:添加声明式事务管理之后 ,获取是代理对象 ,代理对象不能转换为目标对象(实现类)
四 、Spring声明式事务管理属性
1、事务传播行为(Propagation)
当事务方法被另一个事务方法调用时 ,必须指定事务应该如何传播
如:执行事务方法method()1(事务x)之后 ,调用事务方法method2()(事务y),此时需要设置method()2方法的事务传播行为 。
(1)事务的传播行为
①REQUIRED:如果有事务在运行 ,当前的方法就在这个事务内运行;否则就启动一个新的事务 ,并在自己的事务内运行
②REQUIRED_NEW:当前的方法必须启动新事务,并在自己的事务内运行;如果有事务正在运行 ,应该将它挂起 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!