aop代理类生成的调用链

本文详细解析了Spring框架中AOP代理的创建过程,从AbstractApplicationContext初始化到AnnotationAwareAspectJAutoProxyCreator生成代理类的完整调用链。通过深入源码,揭示了Spring如何在运行时动态创建代理对象,实现面向切面编程。

1,是谁生成的代理类,这里暂且记住是AnnotationAwareAspectJAutoPrxoyCreator这个类来生成的代理类。

2.下面是调用链
**加粗样式(1)AbstractApplicationContext.finishBeanFactoryInitialization(ConfigurableListableBeanFactory)
(2) DefaultListableBeanFactory.preInstantiateSingletons()
(3)AbstractBeanFactory.getBean(String)
(4)AbstractBeanFactory.doGetBean(String, Class, Object[],boolean)
(5)DefaultSingletonBeanRegistry.getSingleton(String, ObjectFactory<?>)
(6)AbstractBeanFactory.lambda$doGetBean0(String,RootBeanDefinition,Object[])(7)AbstractAutowireCapableBeanFactory.createBean(String,RootBeanDefinition,Object[])(8)AbstractAutowireCapableBeanFactory.doCreateBean(...)(9)AbstractBeanFactory.lambda0(String, RootBeanDefinition, Object[]) (7)AbstractAutowireCapableBeanFactory.createBean(String, RootBeanDefinition, Object[]) (8)AbstractAutowireCapableBeanFactory.doCreateBean(...) (9)AbstractBeanFactory.lambda0(String,RootBeanDefinition,Object[])(7)AbstractAutowireCapableBeanFactory.createBean(String,RootBeanDefinition,Object[])(8)AbstractAutowireCapableBeanFactory.doCreateBean(...)(9)AbstractBeanFactory.lambdadoGetBean$0(String, RootBeanDefinition, Object[])
(10)AbstractAutowireCapableBeanFactory.createBean(String, RootBeanDefinition, Object[])
(11)AbstractAutowireCapableBeanFactory.doCreateBean(…)
(12)AbstractAutowireCapableBeanFactory.initializeBean(…)
(13)AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(.)
(14)AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).postProcessAfterInitialization(…)
(15)AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).wrapIfNecessary(… …
(16) AbstractAutoProxyCreator.createProxy(Class<?>, String, Object[], TargetSource)
(17)ProxyFactory.getProxy(ClassLoader)
(18)ProxyFactory(ProxyCreatorSupport).createAopProxy()
参考:https://www.douban.com/note/717482377/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值