SpringBoot独立事物控制以及异常问题

本文介绍了SpringBoot中如何使用注解实现独立事务控制,包括REQUIRED和REQUIRES_NEW两种模式。REQUIRED是默认模式,会使用或创建新的事务;而REQUIRES_NEW则会挂起当前事务,创建独立的新事务。在嵌套事务中使用REQUIRES_NEW,若出现异常,会导致事务回滚,但外部事务可能仍能捕获并处理异常。
摘要由CSDN通过智能技术生成

前言

再myfalse github中有spring控制的独立事物,这里是springBoot我们用下注解采用的独立事物

1、新开启一个事物

@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void keyTransactional(CouponItemGood couponItemGood) {

}

2、解释

REQUIRED,注意,这是默认值,也即不进行该参数配置等于配置成REQUIRED。

2.1、REQUIRED的含义是,支持当前已经存在的事务,如果还没有事务,就创建一个新事务。

A调用B,假设调用aMethod前不存在任何事务,那么执行aMethod时会自动开启一个事务,而由aMethod调用bMethod时,由于事务已经存在,因此会使用已经存在的事务(也就是执行aMethod之前创建的那个事务)。
  对于这样的配置,如果bMethod过程中发生异常需要回滚,那么aMethod中所进行的所有数据库操作也将同时被回滚,因为这两个方法使用了同一个事务。

2.2、 REQUIRES_NEW的含义是,挂起当前事务,创建一个新事务,如果还没有事务,就简单地创建一个新事务。

首先,REQUIRES_N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值