以下所有介绍都是基于下面示例进行说明:
public class User{
public void add(){}
public void update(){}
public void delete(){}
public void findAll(){}
}
连接点(Joinpoint)
类里面那些方法可以被增强,这些方法称为连接点。
切入点(Pointcut)
在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面add方法和update方法,实际增强的方法称为切入点。
通知/增强(Advice)
增强的逻辑,称为增强,比如扩展日志功能,这个日志功能称为增强。
- 前置通知: 在方法之前执行
- 后置通知: 在方法之后执行
- 异常通知: 在方法出现异常
- 最终通知: 在后置之后执行
- 环绕通知: 在方法之前和方法之后执行
切面(Aspect)
把增强应用到具体方法上面,过程称为切面把增强用到切入点过程。
引介(Introduction)
引介是一种特殊的通知在不修改类代码的前提下,Introduction 可以在运行期为类动态地添加一些方法或Field。
目标对象(Target)
代理的目标对象(要增强的类)
织入(Weaving)
是把增强应用到目标的过程,把advice 应用到 target 的过程。
代理(Proxy)
一个类被 AOP 织入增强后,就产生一个结果代理类
网友评论