Spring事务机制(二)

Spring事务机制

1.事务抽象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.事务传播

PROPAGATION_REQUIRED
默认事务传播机制,若当前存在事务,则加入该事务,若不存在事务,则新建一个事务。

PAOPAGATION_REQUIRE_NEW
不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务。
在这里插入图片描述
事务的隔离性,两个事务互不干涉。不是同一个事务了。

若当前没有事务,则新建一个事务。若当前存在事务,则新建一个事务,新老事务相互独立。外部事务抛出异常回滚不会影响内部事务的正常提交。

class C1(){
    @Transactional(propagation = Propagation.REQUIRED)
    function A(){
        C2.B();
    }
}
class C2(){
    @Transactional(propagation = Propagation.REQUIRE_NEW)
    function B(){
        do something;
    }
}

若A方法抛出异常,不会影响B正常执行。

若B方法抛出异常,B方法内部捕获,A、B都不会回滚。

A、B不可操作同一条记录,因为处于不同事务中,会产生死锁。

PROPAGATION_NESTED
如果当前存在事务,则嵌套在当前事务中执行。如果当前没有事务,则新建一个事务,类似于REQUIRE_NEW。

PROPAGATION_SUPPORTS
事务有就有,没有就没有,以非事务方式进行。

PROPAGATION_NOT_SUPPORTED
以非事务的方式执行,若当前存在事务,则把当前事务挂起。

PROPAGATION_MANDATORY
强制事务执行,若当前不存在事务,则抛出异常

PROPAGATION_NEVER
以非事务的方式执行,如果当前存在事务,则抛出异常。

3.事务隔离

Spring事务管理

在这里插入图片描述
声明式事务就是使用注解方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值