AOP核心概念
-
连接点
- JoinPoint,可以被AOP控制的方法(暗含方法执行时的相关信息)
-
通知
- Advice,指编写在AOP类中对于方法操作的重复的逻辑,也就是共性功能(最终体现为一个方法)
-
切入点
- PointCut,匹配连接的条件,通知仅会在切入点方法执行时被应用
-
切面
- Aspect,描述通知与切入点的对应关系(通知+切入点)
-
目标对象
- Target,通知所应用的对象
AOP执行流程
- 动态代理
- 动态代理是在运行时动态生成代理类的过程,代理类是指在代理模式中所创建的类,用于代理目标对象的行为,代理模式是一种结构型设计模式,它允许通过代理对象实现对于目标对象的访问。
- SpringAOP底层是基于动态代理实现的,在程序运行时会自动基于目标对象生成一个代理对象,并将代理对象自动注入到IOC容器中,在代理对象中会实现对于目标对象中原始方法的增强,就是将通知中(Advice)的代码逻辑进行执行,在代理对象的方法执行前后,会执行相应的通知逻辑。在进行DI时,就会自动地注入IOC容器中的代理对象。
小结
-
AOP核心概念
-
AOP执行流程