连接点(JoinPoint)
连接点由两个信息确定:1. 切点 2.用相对位置表示的方位
切点(Pointcut)
程序中的方法
增强(Advice)
包含方位,和用于添加到连接点(JoinPoint)上的逻辑代码
结合 增强(Advice) 和 切点(Pointcut) ,才能确定特定的连接点并实施增强逻辑
目标对象(Target)
增强(Advice)逻辑的织入目标类
引介(Introduction)
一种特殊的增强(Advice),为类动态的添加一些属性和方法。或者为类动态的添加接口
织入(Weaving)
将增强(Advice)添加到目标对象(Target)的连接点(JoinPoint)上的过程
AOP有3种织入方式:
编译期织入,这要求使用特殊的Java编译器
类装载期织入,这要求使用特殊的类装载器
动态代理织入,在运行期为目标类添加增强生成子类的方式
Spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入
代理(Proxy)
目标对象(Target)被AOP的增强(Advice)织入(Weaving)后,就产生了一个结果类,它就是融合了原类和增强逻辑的代理类。
代理类既可能是和原类具有相同接口的类,也可能就是原类的子类。
切面(Aspect)
切面由切点(Pointcut)和增强(Advice)组成,它既包括横切逻辑的定义,也包括连接点的定义。
原文:https://www.cnblogs.com/woshi123/p/12676068.html