springboot启动
1、自动装配TransactionManagementConfigurationSelector容器类,发生在invokeBeanFactoryPostProcessors阶段。
AutoProxyRegistrar:提供proxy;将事务注解转化为BD
ProxyTransactionManagementConfiguration:提供aop能力,解析事务注解。
2、执行事务
使用spring proxy和aop来执行事务,发生在finishBeanFactoryInitialization阶段。
2-1、执行前置增强(根据事务传播机制来实现事务的开启提交回滚)
AbstractAutoProxyCreator#postProcessBeforeInstantiation
2-2、执行后置增强(根据事务传播机制来实现事务的开启提交回滚)
AbstractAutoProxyCreator#postProcessAfterInitialization
2-3、拦截事务切面执行事务
TransactionInterceptor#invoke
DataSourceTransactionManager类(DataSource、connect、begin、commit、rollback)