【Spring源码】Spring Transactional事务:传播机制(Propagation) 源码剖析
关键词
- AMethod调用BMethod,转载BMethod的角度来考虑:站在被调用者的角度去考虑
BMethod是使用AMethod中已经存在的事务?
BMethod是创建一个新的事务?
BMethod是以一个没有事务的方式运行?
- required:外有则加入;外无新创建
- supports:外有则加入;外无则无
- mandatory:外有则加入;外无则抛异常
- required_new:外有则挂起外部;外无则新创建
- not_support:外有则挂起外部;外无则无事务
- never:外有则直接抛异常
- nested:外有则内开子事务;外无新创建(和required一样)
-
@import引⼊了TransactionManagementConfigurationSelector类 (@EnableTransactionManagement 注解)
它的selectImports⽅法导⼊了另外两个类:AutoProxyRegistrar和ProxyTransactionManagementConfiguration -
1.AutoProxyRegistrar类,继承了AbstractAutoProxyCreator