下面以上图的例子来通俗的讲述我对Spring Aop技术相关概念的理解,有不正确的地方还望大佬指正。
连接点(Joinpoint)
在Spring Aop中,一个连接点总是表示一个方法的执行。可以将连接点理解为类中的方法。
切入点(Pointcut)
需要处理的连接点,只被抽取了共性功能的方法,如图中的add、delete和update方法都被抽取了一些共性,这三个方法就是切入点。切入点一定是连接点,连接点不一定是切入点。
通知(Advice)
指被抽取的共性功能组成的代码逻辑,如果是在切入点内指定位置之前执行的代码逻辑则称为前置通知(Before Advice),在切入点内指定位置之后执行的代码逻辑则称为后置通知(After Advice)
引入(Introduction)
通知仅表示切入点被抽取的代码逻辑,对于切入点所在的类,如果存在有共性的成员变量或者成员方法,通知将无法进行描述,Aop提供引入机制,将共性功能的成员进行加入。引入机制可为类添加额外的成员变量或者成员方法。引入机制是在编译期或类加载期完成的。
目标对象(Target Object)
通俗理解就是包含切入点的对象(通知被应用的对象)。
AOP代理(AOP Proxy)
将通知应用到目标对象之后,被AOP框架创建的对象,用来执行切面(Aspect)的内容。
切面(Aspect)
一种设计概念实体,描述切入点与通知的绑定关系。
织入(Weave)
通知应用到目标对象后,导致代理对象被创建的过程(代理对象把通知织入到目标对象切入点方法中)