/**
- 1在不同类中(方法事务 第一个方法(有) 第二个方法(无) 第三个方法(有))
- Propagation propagation() default Propagation.REQUIRED; 传播属性
- serviceA(有事务) serviceB(无) serviceC(有事务)
- updateBeansA调用updateBeansB调用updateBeansC
- updateBeansA() updateBeansB() updateBeansC()
*事务名称 - com.example.mybatisspring.service.serviceA.updateBeansA事务名称
- com.example.mybatisspring.service.serviceA.updateBeansA事务名称
- com.example.mybatisspring.service.serviceA.updateBeansA事务名称
- updateBeansC 方法报错 updateBeansA updateBeansB updateBeansC 全部回滚
- String txName = TransactionSynchronizationManager.getCurrentTransactionName();
-
System.out.println(txName+"事务名称");
- 结论: 事务生效 三个方法全部用第一个事务
- 2在同一个类中(方法事务 第一个方法(有) 第二个方法(无) 第三个方法(有))
- serviceC 中 方法 updateBeansC(有) updateBeansC1 (无) updateBeansC2 (有)
- 结果和第一种情况保持一直
*3 在不同类