假如有一个类User
class User
{
public add();
public delete();
public update();
public select();
}
1、连接点
类里面哪些方法可以被增强,这些方法就称为连接点
比如User类中的四个方法都可以被增强,那么这四个方法就都称为连接点
2、切入点
实际被真正增强的方法,就称为连接点
比如在实现的时候,指增强了update()方法,那么update()方法就是切入点
3、通知(增强)
(1)实际增强的逻辑部分称为通知(增强)
比如增强add()方法,在原来的基础上增加一个判断功能,那么这个增加的判断功能就称为通知(增强)
(2)通知有多种类型
- 前置通知
在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。
- 后置通知
在连接点执行之后执行的通知。
- 环绕通知
在连接点执行之前和之后都可以执行额外代码的通知。
- 异常通知
在目标方法抛出异常时执行的通知
- 最终通知
是在目标方法执行之后执行的通知。
和后置通知不同之处在于,后置通知是在方法正常返回后执行的通知,如果方法没有正常返回(例如抛出异常),则后置通知不会执行。
而最终通知无论如何都会在目标方法调用过后执行,即使目标方法没有正常的执行完成。
4、切面
切面
是通知和切入点的结合。