Spring——Spring事务角色和事务属性

事务管理员

在入门案例里面需要在transfer上加上一个事务,该方法里面会调用数据层的两个操作又会分别开启两个事务T1和T2

 加上一个开启事务的注解会将范围内的所有事务

 事务角色

  • 事务管理员:发起事务方,在Spring中通常代指业务层开启事务的方法
  • 事务协调员:加入事务方,在Spring中通常代指数据层方法,也可以是业务层方法

注意点: 

在mybatisconfig和jdbcconfig中都使用到了datasource,并且使用的是同一个,操作能成功就是因为它们通过相同的数据源进行管理

事务属性:

事务相关配置

下列配置项都可以在事务的注解上开启 

重点是rollbackFor,并不是什么异常都需要回滚

下面的除数为0异常需要回滚

 比如下面这个异常就不会回滚然后导致事务失败

 

设置异常回滚

 

案例:转账业务追加日志

 

好累啊,不想写了

事务传播行为:事务协调员对事物管理员所携带事物的处理态度

使用下面的属性可以在原本装到一起的事务单独开一个新的事务

在上面这个案例中,业务层有三个操作对应的三个事务会合成一个,如果不使用下面这个属性会导致出现异常时一起回滚,结果日志就只会记录转账成功的操作

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值