代码改变世界

spring aop 事物

2021-02-19 10:54  Tony、  阅读(56)  评论(0编辑  收藏  举报

1 总体分析图

 

 

 

2  postProcessBeforeInstantiation 代码

 

 

 3  postProcessAfterInitialization 代码

 

 

 

before:主要用来加载所有的 advisor到内存中(advisorsCache),advisor分为两中情况,一个实现了Advisor接口,一个是标识了Aspect注解的类

after :1 找到所有能应用于当前bean的 advisor(findAdvisorsThatCanApply),2 创建代理对象

 

 

事物

  事物最终通过 EnableTransactionManagement 注解 引入了 ProxyTransactionManagementConfiguration 配置类,在配置类中会定义一个继承了Advisor接口的BeanFactoryTransactionAttributeSourceAdvisor类。

.

代码:https://github.com/312527814/java-practice/tree/master/manager/aop-test