@Service  public class MyService {  @Transactional  public void methodA() {  // some database operations  methodB();  }  @Transactional(propagation = Propagation.REQUIRES_NEW)  public void methodB() {  // some other database operations  }  }这里,即使methodB上标注了@Transactional并要求新的事务Propagation.REQUIRES_NEW,
但是,当methodA内部调用methodB时,
这个事务传播行为不会生效,
因为,methodA内部调用methodB是直接的Java方法调用,不会经过Spring的代理。
说白了就是,
methodA 和 methodB 默认情况下是在同一个事务中的,
因为 methodB 是从 methodA 内部直接调用的,不经过Spring的事务代理,
由于这种直接调用绕过了代理,methodB 上的 @Transactional 注解不会生效,
因此 methodA 和 methodB 的操作都会在同一个事务中执行。