Spring的AOP框架的主要术语

1.横切关注点(Crosscutting Concern)

像安全检查、事务等系统层面的服务,常备安插到一些程序中各个对象的处理流程中,这样的服务逻辑在AOP中称为横切关注点,又称横切关心。

如果把横切关注点直接编写在负责某业务的对象流程中,会使得维护程序的成本增高。假如某天要从该对象中修改或移除该业务逻辑,需要修改所有与该服务相关的程序代码,然后重新编译;另外,把横切关注点混杂于业务逻辑中,会使得业务对象本身的逻辑或程序的编写更为复杂;另外,把横切关注点混杂于业务逻辑中,会使得业务对象本身的逻辑或程序的编写更为复杂。

AOP通过把横切关注点织入到业务逻辑中,比较成功地解决了以上问题。

2.切面(Aspect)

将横切关注点设计为独立可重用的对象,这些对象称为切面。

3.连接点(Joinpoint)

切面在应用程序执行时加入对象的业务流程中的特定点,成为连接点(Joinpoint)。连接点是AOP的核心概念之一。它用来定义在目标程序的哪里通过AOP加入新的逻辑。

4.通知(Advice)

切面在某个具体的连接点采取的行为或行动,称为通知。

实际上,通知是切面的具体实现。它是在某一特定的连接点处织入目标业务程序的服务对象。它又分为连接点之前执行的前置通知(Before Advice)和连接点之后执行的后置通知(After Advice)。

5.切入点(Pointcut)

切入点指定某个某个通知在哪些连接点被织入到应用程序之中。

切入点是通知要被织入到应用程序中的所有连接点的集合。可以在一个文件中,例如XML文件中,定义一个通知的切入点,即它的所有连接点。

6.织入(Weaving)

将通知加入应用程序的过程,称为织入。对于静态AOP而言,织入是在编译时完成的,通知在编译过程中增加一个步骤,而动态AOP是在程序运行时动态织入的。

7.目标(Target)

通知被应用的对象,成为目标。

8.引入(Introduction)

通过引入,我们可以在一个对象中加入新的方法和属性,而不用修改它的程序。

具体说,可以为某个已编写、编译完成的类,在执行时期动态加入一些方法或行为,而不用修改或新增任何一行程序代码。

9.代理(Proxy)

代理是由AOP框架生成的一个对象,用来执行切面的内容。代理有静态代理和动态代理。

猜你喜欢

转载自blog.csdn.net/lms1719/article/details/26104447
今日推荐