Spring 事务传播机制详解:七种类型及应用场景
Spring 事务传播机制指的是在多个事务方法调用的情况下,事务是如何在这些方法之间传播和交互的规则。
Spring 框架中定义了七种事务传播机制,分别为:
-
'REQUIRED':如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
-
'SUPPORTS':如果当前有事务,则加入这个事务,如果当前没有事务,则不使用事务。
-
'MANDATORY':强制要求当前方法必须在一个事务中运行,如果不存在事务,则抛出异常。
-
'REQUIRES_NEW':不管当前是否存在事务,都会新建一个事务,如果存在事务,则将当前事务挂起。
-
'NOT_SUPPORTED':当前方法不应该在事务中运行,如果存在事务,将其挂起。
-
'NEVER':当前方法不应该在事务中运行,如果存在事务,则抛出异常。
-
'NESTED':如果当前存在事务,则在事务中嵌套一个事务,如果当前没有事务,则新建一个事务。如果外层事务回滚,则内层事务也会回滚,但内层事务回滚不会影响外层事务。
事务传播机制可以在 @Transactional 注解中设置,默认为 'REQUIRED'。正确设置事务传播机制可以保证事务的一致性和可靠性。
原文地址: https://www.cveoy.top/t/topic/ozuh 著作权归作者所有。请勿转载和采集!