SpringAOP创建代理
2021-12-10 00:51:32 24 举报
SpringAOP创建代理
作者其他创作
大纲/内容
解析切面类链接
后置处理器的【第九次调用】 aop和事务都会在这里生存代理对象AbstractAutoProxyCreator.javapostProcessAfterInitialization
②Advisor匹配切点
findEligibleAdvisors()
回到wrapIfNecessary()
精筛 匹配所有方法,按切点表达式和方法匹配器匹配,只要有一个匹配上就创建代理
已经被处理过是基础Bean不需要增强(缓存中打了False标记)没有通知,或无合适通知
调用findCandidateAdvisors()前面在解析切面类时已经将advisor都加入了缓存在这里直接从缓存拿即可。且合适的通知不为空
①获取Advisor
wrapIfNecessary()
getAdvicesAndAdvisorsForBean()
找是否有合适的advisor对象findAdvisorsThatCanApply
创建代理createProxy()
canApply()
直接返回Bean
③创建代理
寻找方法,判断是否能且需要被代理,并代理它wrapIfNecessary()
初筛类级别通过 AspectJ
后置处理器的【第九次调用】 aop和事务都会在这里生存代理对象AbstractAutowireCapableBeanFactory.javaapplyBeanPostProcessorsAfterInitialization
0 条评论
下一页