首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SpringAOP(2)-spring源码详解(七)

SpringAOP(2)-spring源码详解(七)

作者头像
keying
发布2022-12-14 18:32:55
发布2022-12-14 18:32:55
2710
举报

上篇文章说了spring的aop,在启动类加一个启动注解,注解点进源码可以看到注册了bean定义的后置处理器。每个切入点都会生成一个adviosr,他们会排序好依次注册。

他的顺序是before、after、afterRturning、afterThrowing

SpringAOP(1)-spring源码详解(六)

这里解析到了环绕处理器,放入到aspectFactoryCache里面。

前面说的都是beforeInstantiation里面做的事,

后面开始从postProcessAfterInitialization里处理。

先会判断下之前循环依赖的动态代理 如果是现在的bean,就不在创建,并且移除。

不是则开始创建动态代理wrapIfNecessary。

前面放入缓存,就是为了在初始化后置处理器这里调用缓存。

在createProxy动态代理的时候,如果没有设置proxyTargetClass就会使用cglib代理,

否则使用jdk动态代理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档