您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
08-Spring的事务控制-基于xml的声明式事务控制-事务属性参数的配置
发布时间:2025-01-21 13:54:19编辑:雪饮阅读()
-
接下来咱们要了解的就是上篇中attributes里面的tx标签的相关属性。上篇中仅仅用了name属性。
那么完整的应该是
name:切点方法名称(支持通配符如save*,*之类)
isolation:事务的隔离级别
propogation:事务的传播行为
timeout:超时时间
read-only:是否只读。
那么没有使用配置的属性则是默认值。
所以较为完整一些的方法增强配置应如:
<!--通知 事务的增强-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!--设置事务属性信息的-->
<tx:attributes>
<tx:method name="*" isolation="DEFAULT" propagation="REQUIRED" timeout="-1" read-only="false"/>
<tx:method name="transfer" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false"/>
<tx:method name="save" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false"/>
<tx:method name="findAll" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="true"/>
<tx:method name="update*" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
这里我觉得隔离级别和是否只读比较重要,例如只读的情况下,若是本次方法里面有写入操作呢?所以要视情况而定。
isolation
REPEATABLE_READ:
可重复读(Repeatable Read),当使用可重复读隔离级别时,在事务执行期间会锁定该事务以任何方式引用的所有行。因此,如果在同一个事务中发出同一个SELECT语句两次或更多次,那么产生的结果数据集总是相同的。因此,使用可重复读隔离级别的事务可以多次检索同一行集,并对它们执行任意操作,直到提交或回滚操作终止该事务。
Propagation
REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
关键字词:Spring,xml,事务
上一篇:07-Spring的事务控制-基于xml的声明式事务控制-快速入门
下一篇:09-Spring的事务控制-基于xml的声明式事务控制-知识要点(aop:advisor标签中pointcut-ref属性的使用)
相关文章
- 07-Spring的事务控制-基于xml的声明式事务控制-快速入
- 06-Spring的事务控制-基于xml的声明式事务控制-转账业
- 08-xml方式实现aop-快速入门(spring)
- 04-SpringMVC异常处理-自定义异常处理器
- 03-SpringMVC异常处理-简单异常处理器(defaultErrorVi
- 01-SpringMVC异常处理-异常处理的思路(异常何时抛出?何
- 09-SpringMVC拦截器-用户登录权限控制代码实现3
- 08-SpringMVC拦截器-用户登录权限控制代码实现2(exclu
- 07-SpringMVC拦截器-用户登录权限控制代码实现1
- 04-SpringMVC拦截器-快速入门详解(多拦截器与先进后出