java学习——框架——4、Spring的事务传播行为?

  • Post author:
  • Post category:java




Spring的事务传播行为?

什么叫事务的传播行为?


A方法和B方法都有事务,当A在调用B时,会将A中的事务传播给B方法,B方法对于事务的处理方式就是事务的传播行为。

Spring有7种事务传播行为。Spring事务本质上是管理数据库事务;数据库事务本质上是管理数据库锁。


(1)REQUIRED:

(需要)

如果当前存在事务,则加入该事务;

如果当前没有事务,则创建一个新的事务。


(2)SUPPORTS:

(支持)

如果当前存在事务,则加入该事务;

如果当前没有事务,则以非事务的方式继续运行。


(3)MANDATORY:

(义务)

如果当前存在事务,则加入该事务;

如果当前没有事务,则抛出异常。


(4)REQUIRES_NEW:

(需要——新)

创建一个新的事务,如果当前存在事务,则把当前事务挂起。


(5)NOT_SUPPORTED:

(不支持)

以非事务方式运行,如果当前存在事务,则把当前事务挂起。


(6)NEVER:

(从不)

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


(7)NESTED:

(嵌套)

如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于REQUIRED。



版权声明:本文为weixin_42924812原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。