spring交易是基于代理的。因此,这是当bean A引起bean
B事务时它如何工作的。A实际上具有对代理的引用,该代理委托给beanB。此代理是启动和提交/回滚事务的代理:
A ---> proxy ---> B
在您的代码中,A的事务方法调用了A的另一个事务方法。因此Spring无法拦截该调用并开始新的事务。这是一个常规方法调用,不涉及任何代理。
因此,如果要启动新事务,则该方法
createSampleObject()应该在另一个bean中,并注入到当前bean中。
在文档中对此进行了更详细的说明。



