Spring源码解析(九)-建立AopProxy代理对象
在Spring的AOP模块中,一个主要部分是代理对象的生成。而对于Spring应用,可以看到是通过配置和调用Spring的ProxyFactoryBean来完成的。在ProxyFactoryBean中,又封装了主要代理对象的生成过程。而代理对象的生成,使用了JDK的Proxy和CGLIB两种方式。
1.AopProxy类结构体系
文章图片
AopProxy结构体系.png 2.ProxyFactory类结构体系
文章图片
ProxyConfig结构体系.png 3.ProxyFactoryBean
因为ProxxyFactoryBean是在Spring IOC环境中创建AOP应用的底层方法,也是最灵活的方法。所以我们以ProxyFactoryBean为入口,逐层深入,理解AOP实现
1.配置ProxyFactoryBean
com.test.TestProxyInterface
testAdvisor
2.AopProxy的生成时序图
从FactoryBean中获取对象,是以getObject()方法作为入口完成的;ProxyFactoryBean实现中的getObject方法,是FactoryBean需要实现的接口
文章图片
AopProxy生成时序图.png
【Spring源码解析(九)-建立AopProxy代理对象】下面一节我们将详细解析时序图中生成AopProxy的方法
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- Android事件传递源码分析
- 2018-07-09|2018-07-09 Spring 的DBCP,c3p0
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- ffmpeg源码分析01(结构体)
- spring|spring boot项目启动websocket