尽管您正确理解了Propagation.REQUIRES_NEW的行为,但您还是偶然发现了一个关于Spring的Transactional行为的常见误解。
为了应用事务语义(即方法的注释具有任何效果),需要从类外部调用方法。从类内部调用带有事务性注释的方法对事务处理绝对没有影响(因为包含事务性代码的Spring生成的代理类不起作用)。
在您的示例中,innerMethod2可能使用@Transactional进行注释,但由于它是从outterMethod调用的,因此注释未被处理。
退房
this
Spring文档的一部分