Spring事务传播行为

1、什么是事务的传播行为?

就是多个事务方法相互调用时,事务如何在这些方法间传播。

Propagation.REQUIRED 如果当前没有事务就新建一个事务,如果已经存在一个事务,就加入到这个事务中, 最常用的

Propagation.REQUIRED_NEW 新建事务,如果当前存在事务,就把当前事务挂起。

2、@Transactional属性详解

propagation 配置事务的传播行为

isolation 配置事务的隔离级别 一般用默认值

rollbackFor 配置事务回滚的异常类型

timeout 事务超时时间

readOnly 配置为只读事务

2、@Transactional 注解失效的场景

1、@Transactional注解用在非public修饰的方法上

2、数据库引擎不支持事务,比如myisam

3、propagation属性 传播行为设置错误

4、rollbackFor 如果不设置rollbackFor属性,它默认是遇到Error和运行时异常时才会回滚,非运行时异常不会回滚、

5、内部方法之间的相互调用不会被aop拦截,加不上事务。

6、异常被catch了

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值