55.Spring的 Aop的完整实现流程?

发布时间:2024年01月15日

55.Spring的 Aop的完整实现流程?

Aop的实现大致分为三大步:JavaConfig
当@EnableAspectJAutoProxy 会通过@Import注册一个BeanPostProcessor处理AOP

1.解析切面: 在Bean创建之前的第一个Bean后置处理器会去解析切面(解析切面中通知、切点,一个通知就会解析成一
个advisor(通知、切点))

2.创建动态代理 正常的Bean初始化后调用BeanPostProcessor 拿到之前缓存的advisor ,再通过advisor中pointcut
判断当前Bean是否被切点表达式匹配,如果匹配,就会为Bean创建动态代理(创建方式1.jdk动态代理2.cglib)。

3.调用:拿到动态代理对象, 调用方法 就会判断当前方法是否增强的方法, 就会通过调用链的方式依次去执行通知.

在这里插入图片描述

额外扩展

1、AOP相关术语

  • 切面Aspect:

即添加的额外的业务逻辑

  • 连接点JointPoint:

即切面可以被应用在哪些方法上,这些方法都可以统称为连接点

  • 切点PointCut:

实际被切入的方法。连接点是一个逻辑上的概念,表示可以被切入的地方。切点是真实要被切入的地方。

  • 通知Advice:
文章来源:https://blog.csdn.net/weixin_43860634/article/details/135605856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。