事务的传播行为问题,赐教啊

为什么两个语句都不能插入数据库。下面的方法不是可以插入成功吗?
图片说明

https://blog.csdn.net/Maxiao1204/article/details/81089681

Spring事务传播方式设置为REQUIRES_NEW时,insertTest方法执行时遇到外层存在事务,则使用外层的事务,不会重新创建事务

当事务传播机制设置为 REQUIRES NEW 时,是开启一个新的事务,如果当前有事务则被挂起 上面的代码 你是用 test01 调用 test 方法 这时候是用的this.isnertTest()并没有启动spring的代理来开启新的事务, 所以他们两个方法还是在一个事务里面 所以最后数据回滚了,你把下面的方法写到另外一个service 里面用 service.insertTest 就会开启新的事务 这个时候里面的事务就不会回滚.

REQUIRES NEW 有事务挂起,新建一个,没事务新奇一个事务的,
在这事务的配置都是通过aop代理机制的实现,你在自己本类里面调用,没有通过aop代理来实现,那就是没有走代理机制。
在你的a方法中,通过aop代理实现的,整个是可以归为一个事务里面的,事务具备原子性 的,
除非你把b方法加入aop代理中,就是另外写一个service在调用的话,就是两个事务的,这样肯定是有一个成功,一个事变的