Spring事务实测

2020-09-11  本文已影响0人  那些年搬过的砖
1、spring事务

sring事务的管理是通过AOP动态代理实现

1.1:同一个class中,方法A调用方法B,B有事务,A没有事务,B出现异常则AB都无法回滚


B抛异常,AB都无法回滚

1.2:不同class,A类中调用B类中的方法,A类有事务,B类没有事务,B类出现运行时异常,AB都可回滚。


B抛异常,AB都可回滚

1.3: 不同class,如果A调用B中方法1,方法1又调用B的方法2,方法1、方法2都有事务,方法2抛异常,A中对异常进行捕获后未抛出异常,则AB都回滚。因为这种场景AB是同一事务,B方法的异常已经将整个事务标记为回滚


A对B的异常捕获未抛出,AB也都会回滚

1.4: 不同class,如果A调用B中方法1,方法1又调用B的方法2,方法1无事务,方法2有事务,A中对异常进行捕获后未抛出异常,则AB都不会回滚,但是如果A未对异常捕获,则AB都会回滚

A对B异常捕获未抛出,AB都不会回滚
上一篇下一篇

猜你喜欢

热点阅读