AOP中的术语解释

2026-01-19 16:30:54

1、关注点(concern)

1) 核心关注点: 关注系统的业务逻辑 --> OOP

2) 横切关注点: 关注系统级服务,比如事务、安全、日志 --> AOP

2、方面(aspect):

 把散落在系统各处与横切关注点相关的重复代码抽取出来归整到一处形成一个模块,我们称为方面.

3、连接点(joinpoint):

 程序运行过程中的某一点.比如方法调用、属性访问、异常抛出.

4、切入点(pointcut):  一组连接点

 注意: 如果要有选择性地拦截目标对象中的方法的话需要定义切入点

5、增强(advice):

 在不修改原有代码的前提下,为某一个对象增加新的功能

 (如:事务服务、日志服务),在spring中增强是通过拦截器实现的.

6、织入(Weaving): 

   将方面加入到(拦截器)方法中为对象增加额外功能的过程称为织入

7、目标对象(target object): 需要被增强功能的对象称之为目标对象,也被称为被增强或被代理对象。

         在spring中通常指service层接口实现类的对象

8、代理对象(proxy object)

  为目标对象增加新功能从而产生的一个新的对象称为代理对象.负责调用拦截器和目标对象的方法.

9、拦截器

 1) 前增强拦截器

在目标对象方法执行之前,执行此拦截器为目标对象增加新功能

实现接口: MethodBeforeAdvice

 2) 后增强拦截器

在目标对象方法执行之后,执行此拦截器为目标对象增加新功能

实现接口: AfterReturningAdvice

 3) 环绕增强拦截器

在目标对象方法执行前后,执行此拦截器为目标对象增加新功能

实现接口: MethodInterceptor

 4) 抛出增强拦截器

在目标对象方法抛出异常后,执行此拦截器为目标对象增加新功能

实现接口: ThrowsAdvice

定义方法: 

public void afterThrowing

([Method method], [Object[] args], [Object target], Throwable subclass)

10、增强器(advisor)

为拦截器定义切入点(一组连接点)之后产生增强器,增强器可以有选择性地拦截目标对象中的部分方法.

注意: 拦截器默认拦截所有目标对象中的方法

spring框架中的增强器:

org.springframework.aop.support.RegexpMethodPointcutAdvisor

method="" destroy-method=""/>

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢