摘要
1 aop的核心关键为构建aop工具
2 通过aop工具对bean实例化进行拦截,并对合适的bean实现代理
- 核心工具类;AnnotationAwareAspectJAutoProxyCreator后置处理器,负责拦截bean并且查找切面完成代理类创建
AnnotationAwareAspectJAutoProxyCreator的初始化与工作流程
- 以注解为例,当在启动类上配置@EnableAspectJAutoProxy,完成aopBpp的beandefinition创建
- 之后在容器启动中通过registerBeanPostProcessors完成AnnotationAwareAspectJAutoProxyCreator注册
- 在实例化所有bean的时候,通过AnnotationAwareAspectJAutoProxyCreator查询容器中所有存在的顾问,并通过PointCut,Classfilter等机制完成匹配
- 若匹配成功则完成aop实例的创建