循环遍历获取所有的BeanPostProcessor后置处理器 , 调用所有的初始化后的处理方法
BeanPostProcessor有很多实现的子类 , 分别有不同的功能 , 而其中创建AOP代理对象的子类“AbstractAutoProxyCreator” , 在这里我们继续分析该类的postProcessAfterInitialization方法 。
步骤五:选择代理策略大致业务如下:
- 判断当前是否需要代理(即Advice类、Pointcut类、Advisor类、AopInfrastructureBean类) , 如果不需要 , 返回当前bean实例
- getAdvicesAndAdvisorsForBean:获取这个bean的advice集合
- createProxy:创建代理
步骤七:创建AOP代理
大致业务如下:
- buldAdvisors:确定给定bean的Advisor , 包括特定的拦截器和公共拦截器 , 所有这些都适合Advisor接口 。
- getProxy:获取指定的代理
proxyFactory有JDK和CGLIB的 , 最终调用的是DefaultAopProxyFactory类的createAopProxy()方法
步骤九:为给定的AOP配置创建一个AopProxy
在这个方法里我们根据不同策略是使用JDK和CGLIB的代理 。
时序图
写在最后
好兄弟可以点赞并关注我 , 全部都是干货 。
- 摩托罗拉|摩托罗拉:12G+512G低至2499,全是高端配置,性价比没对手
- 网易云音乐|你离做好淘宝店,只有一步之遥
- spring|架构选型问题,用MyBatis还是用Spring Data Jpa?
- 自媒体|新手小白做自媒体,怎样选择适合自己的平台?
- 华为|维修1万多的华为手机,直接买台新的做配件
- 摩托罗拉|从3599元跌至2799元,12GB+256GB+68W,从高端市场跌至中端市场
- 摩托罗拉|真的不赚钱?骁龙888plus+512GB存储,仅售2469元
- 摩托罗拉|2399元起,512GB +骁龙8+144Hz,摩托罗拉站起来了
- 今天下午|支持微信6开的千元5G“神机”!摩托罗拉G71s发布
- 京东方|何止自研架构,龙芯中科传来好消息,胡伟武说到做到