Spring 的事务传播机制?

Spring 事务的传播机制说的是,当多个事务同时存在的时候——一般指的是多个事务方法相互调用时,Spring 如何处理这些事务的行为。

事务传播机制是使用简单的 ThreadLocal 实现的,所以,如果调用的方法是在新线程调用的,事务传播实际上是会失效的。

spring-a6e2a8dc-9771-4d8b-9d91-76ddee98af1a.png

Spring 默认的事务传播行为是 PROPAFATION_REQUIRED,它适合绝大多数情况,如果多个 ServiceX#methodX()都工作在事务环境下(均被 Spring 事务增强),且程序中存在调用链 Service1#method1()->Service2#method2()->Service3#method3(),那么这 3 个服务类的三个方法通过 Spring 的事务传播机制都工作在同一个事务中。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题