在 Spring 框架中,事务的传播行为(Propagation Behavior)是指:当一个带有事务的方法被另一个方法调用时,Spring 应该如何处理这个事务?(例如:是加入现有事务,还是创建一个新事务,或者是抛出异常?) Spring 在 枚举类中定义了 7 种 事务传播行为。为了方便理解,我们可以将它们分为三大类: --- 第一类:支持当前事务(最常用) 这类传播行为的核心是:如果当前已经有事务了,就加入进去。 1. (Spring 默认) 规则:如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新事务。 特点:内外方法共享同一个物理事务。如果内部方法抛出异常发生回滚,外部方法也会跟着回滚。 适用场景:绝大多数的业务场景(增删改),Spring 默认就是这个。 2. 规则:如果当前存在事务,则加入该事务;如果当前没有事务,就以非事务的方式继续运行。 适用场景:通常用于查询操作。如果有其他事务带着它,它就跟着一起;如果没有,它自己也不强求。 3. 规则:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。 适用场景:该方法必须在事务上下文中运行,通常用...