AOP术语

连接点(joinpoint):

程序执行的某个特定位置,如方法执行前,后。

Spring仅支持方法级别的连接点。

连接点由两个信息定位:1.用方法表示的程序的执行点;2.用相对点表示对的方位信息。

Spring使用切点对执行点进行定位,而方位信息则在增强类型中定义,

即:切点+增强中的方位信息=连接点

 

切点(pointcut):

用于定位特定的连接点,一个切点可以匹配多个连接点。

增强提供了连接点的方位信息,如方法的前后,而切点进一步描述织入到哪些类的哪些方法。

即:切点用于定位程序中的方法,即执行点。

 

增强(advice):

增强是织入到目标类连接点上的一段程序代码。

增强既包含了用于添加到连接点上的一段执行逻辑,又包含定位连接点的方位信息(所以Spring提供的增强接口都是带方位名的,如BeforeAdvice)。

结合增强中连接点的方位信息与切点信息,就可以定位到特定的连接点

 

目标对象(target):

增强逻辑织入的目标类。

 

引介(introduction):

是一种特殊的增强,可以为目标类添加一些属性与方法。

 

织入(weaving):

织入是将增强逻辑添加到连接点上的过程。

织入有三种方式:

1,编译期织入

2,类装载期织入

3,动态代理织入,在运行期进行织入

Spring采用动态代理织入,分为:基于JDK的动态代理(只支持接口的代理,不支持类的代理),基于CGLib的动态代理(可以支持类的代理)

 

代理(proxy):

一个类被AOP织入增强后,产生的类即为代理类。

代理类融合了原类与增强逻辑。

根据不同的代理方式,代理类既可能是和原类具有相同接口的类,也可能是原类的子类。

 

切面(aspect):

由切点和增强(引介)组成,既包含了横切逻辑的定义,又包含了连接点的定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring AOP(Aspect-Oriented Programming)是Spring框架中的一个重要模块,用于实现面向切面编程。下面是一些与Spring AOP相关的术语: 1. 切面(Aspect):切面是一个模块化的、跨越多个类的关注点的定义。它可以包含一组通知和切点。 2. 通知(Advice):通知是在切面的特定连接点上执行的代码。在Spring AOP中,有以下几种类型的通知: - 前置通知(Before Advice):在目标方法执行之前执行。 - 后置通知(After Advice):在目标方法执行之后执行,无论是否发生异常。 - 返回通知(After Returning Advice):在目标方法成功执行并返回结果后执行。 - 异常通知(After Throwing Advice):在目标方法抛出异常后执行。 - 环绕通知(Around Advice):包围目标方法的整个执行过程,在目标方法执行前后都可以执行自定义的逻辑。 3. 切点(Pointcut):切点是一个表达式,用于匹配连接点。连接点是在应用程序中可以插入切面的点,如方法调用、方法执行、异常处理等。 4. 连接点(Joinpoint):连接点是在应用程序中可以插入切面的点,如方法调用、方法执行、异常处理等。 5. 引入(Introduction):引入是一种在不修改目标类代码的情况下,为目标类添加新的方法或属性的方式。 6. 织入(Weaving):织入是将切面应用到目标对象并创建新的代理对象的过程。织入可以在编译时、类加载时或运行时进行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值