首页IT科技spring声明式事务配置代码(学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性)

spring声明式事务配置代码(学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性)

时间2025-06-17 14:56:07分类IT科技浏览4018
导读:2023-01-18...

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)编写配置文件

①配置事务管理器

②开启事务注解支持

<!-- 配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 开启事务注解支持--> <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

(3)在需要事务管理的业务方法上添加注解@Transational

注:添加声明式事务管理之后      ,获取是代理对象                   ,代理对象不能转换为目标对象(实现类)

四             、Spring声明式事务管理属性

1、事务传播行为(Propagation)

当事务方法被另一个事务方法调用时             ,必须指定事务应该如何传播

如:执行事务方法method()1(事务x)之后      ,调用事务方法method2()(事务y),此时需要设置method()2方法的事务传播行为                   。

(1)事务的传播行为

①REQUIRED:如果有事务在运行                  ,当前的方法就在这个事务内运行;否则就启动一个新的事务             ,并在自己的事务内运行

②REQUIRED_NEW:当前的方法必须启动新事务,并在自己的事务内运行;如果有事务正在运行                  ,应该将它挂起      。

声明:本站所有文章                   ,如无特殊说明或标注,均为本站原创发布      。任何个人或组织            ,在未征得本站同意时                   ,禁止复制                  、盗用                   、采集、发布本站内容到任何网站            、书籍等各类媒体平台                   。如若本站内容侵犯了原著者的合法权益      ,可联系我们进行处理             。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
rpm命令的使用(rpm命令 – RPM软件包管理器) 中国移动九天人工智能平台(消息称中国移动将发布“九天”1+N大模型)