AOP术语

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。—— 百度百科

通知(Advice)

在AOP中,切面的工作被称为通知。

通知定义了切面是什么以及何时使用。Spring切面可以应用5中类型的通知:

Before —— 在方法被调用之前调用通知。

After —— 在方法完成之后调用通知,无论方法是否执行成功。

After-returning —— 在方法成功执行之后调用通知。

After-throwing —— 在方法抛出异常以后调用通知。

Around —— 通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。

连接点(Joinpoint)

连接点是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时,抛出异常时,甚至是修改一个字段时。切面代码可以利用这些点插入到应用的正常流程之中,并添加新的行为。

切点(Pointcut)

切点的定义会匹配通知所要织入的一个或多个连接点。我们通常使用明确的类和方法名称来指定这些切点,或是利用正则表达式定义匹配的类和方法名称模式来指定这些切点。

切面(Aspect)

切面是通知和切点的结合。通知和切点共同定义了关于切面的全部内容 —— 它是什么,在何时和何处完成其功能。

引入(Introduction)

引入允许我们向现有的类添加新的方法和属性。

织入(Weaving)

织入是将切面应用到目标对象来创建新的代理对象的过程。切面在指定的连接点被织入到目标对象中。在目标对象的生命周期里有多个点可以进行织入:

编译器 —— 切面在目标类编译时被织入。

类加载期 —— 切面在目标类加载到JVM时被织入。

运行期 —— 切面在应用运行的某个时候被织入。Spring AOP就是以这种方式织入切面的。

请作者喝瓶肥宅水🥤

0