image.png

AOP中有很多术语,要掌握AOP,首先必须熟悉并理解这些术语。值得注意的是,这些术语并不是Spring框架所独有的术语,而是AOP中通用的术语。

(1)切面(Aspect)

切面是一个关注点的模块化,如事务管理,就是一个在JavaEE企业应用中常见的切面。在企业应用编程中,首先需要通过分析,抽取出通用的功能,即“切面”。

(2)连接点(Joinpoint)

连接点即程序执行过程中的特定的点。Spring 框架只支持方法作为连接点,如方法调用前、方法调用后、或者发生异常时等。

(3)通知(Advice)

通知是切入的具体实现。通知将在切面的某个特定的连接点上执行动作,Spring 中执行的动作往往就是调用某类的具体方案。例如:在保存订单模块中,进行日志管理(一个切面)具体是在保存订单的方法执行前(连接点)执行写日志(通知)的功能。其中,日志管理是很多功能模块中通用的功能,为一个切面;而具体是在保存订单前执行日志保存,那么保存订单前这个点就是连接点;实现保存日志功能的类就是通知。

(4)切入点(Pointcut)