(1)Joinpoint(连接点):
所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的连接点。
(2)Pointcut( 切入点):
所谓的切入点是指我们要对那些Joinpoint进行拦截的定义。
(3)Advice( 通知/ 增强):
所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。它根据在代理对象真实方法调用前、后的顺序和逻辑区分。
通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知。
(4)Introduction( 引入):
引入是一种特殊的通知在不修改类代码的前提下, Introduction 可以在运行期为类动态地添加一些方法或者filed。
(5)Target( 目标对象):
代理的目标对象。
(6)Weaving( 织入):
指把增强应用到目标对象来创建新的代理对象的过程。spring 采用动态代理织入,而 AspectJ 采用编译期织入和类装载期织入。
(7)Proxy(代理):
一个类被 AOP 织入增强后,就产生一个结果代理类。
(8)Aspect( 切面):
是切入点和通知(引介)的结合。
AOP并不是Spring框架特有的,Spring只是支持AOP编程的框架之一。每一个框架对AOP的支持各有特点,有些AOP能够对方法的参数进行拦截,有些AOP对方法进行拦截,而Spring AOP是一种基于方法拦截的AOP。在Spring中有4种方法去实现AOP的拦截功能。
在Spring AOP的拦截方式中,常用的是@AspectJ注解的方式和XML配置实现切面的。对剩下的那两种实现方式目前已经很少使用了。
原文:https://www.cnblogs.com/xhbJava/p/13190321.html