Spring中声明式事务的几个属性的解释

Posted convict

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中声明式事务的几个属性的解释相关的知识,希望对你有一定的参考价值。

声明式事务 @Transactional (通常用在service层)
事务属性:传播行为,隔离级别,回滚,只读,过期

1,spring支持事务传播行为:propagation(常用以下两个)
    ① required 使用调用方法的事务,即在当前事务进行,买多本书,但是钱不够,这样的话整个事务回滚,一本书都不会买得到,钱也不会扣。
    ② requires_new 开启新的事务,而调用方法的事务会被挂起,即每次动作都会开启新的事务,即使出错也可以回滚到当前事务,不会影响到其他事务。

2,隔离级别:isolation
事务并发容易产生问题,比如脏读,不可重复读,幻读等,指定事务隔离级别解决
spring事务隔离级别:读已提交,读未提交,可重复读,序列化等

3,回滚:rollbackFor,noRollbackFor等
默认时spring对所有异常进行回滚,可指定某种异常回滚或者不回滚

4,只读:readOnly
指定事务只能读取数据而不更新数据,可以帮助数据库引擎优化事务

5,过期:timeout
事务回滚前最多占用多长时间









以上是关于Spring中声明式事务的几个属性的解释的主要内容,如果未能解决你的问题,请参考以下文章

spring 声明式事务原理解读

Spring4 -12 -声明式事务及完整的XML配置文件信息 -声明式事务中的相关属性(tx:advice的标签)

spring 声明式事务原理解读

Spring 声明式事务,propagation属性列表

springboot 声明式事物

Spring事务声明式事务 使用详解