Fork me on GitHub

AOP

AOP概念

AOP(Aspect-Oriented Programming)是面向切面编程的简称,定义如下:

计算机科学中,AOP是一种编程范式,通过分离横切关注点点来增加模块性。它可以在已有的代码上增加额外的行为,却不需要修改已有的代码,而是通过指定代码的切点来实现。

JoinPoint(连接点,加入点)

JoinPoint(连接点,加入点),如类的初始化前,类的初始化后,类的某个方法调用前,类的某个方法调用后,方法抛出异常后等位置。 Spring仅支持方法的JoinPoint。

PointCut(切点)

PointCut(切点),每个程序都有多个JoinPoint, 其中我们感兴趣的那个JoinPoint,要下手操作的那个点叫做Pointcut。

Advice(增强)

Advice(增强),我们找到感兴趣的点(PointCut)之后做什么呢,不管做什么,都是比之前做的事情多了那么一点点,所以可以理解为增强。

Target

Target 目标对象,要下手的目标类。

Weaving (织入)

Weaving (织入),将Advice添加到Target的具体JoinPoint的过程。