AOP相关术语(连接点、切入点、通知、引介、目标对象、织入、代理、切面)

本文详细介绍了Spring中的AOP关键概念,包括连接点(Joinpoint)、切入点(Pointcut)、通知(Advice)、引介(Introduction)、目标对象(Target)、织入(Weaving)和代理(Proxy)。连接点指的是可被拦截的方法,而切入点定义了哪些连接点需要拦截。通知定义了在拦截后执行的操作,包括前置、后置、异常、最终和环绕通知。引介则允许在运行时为类添加额外的方法或字段。织入是创建代理对象的过程,Spring支持动态代理织入。最后,切面是切入点和通知的组合。了解这些概念有助于深入理解Spring的AOP机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Joinpoint(连接点):

所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点。(通俗理解:业务层接口的所有方法都叫连接点)

Pointcut(切入点):

所谓切入点是指我们要对哪些Joinpoint进行拦截的定义。 (通俗理解:被增强的业务层接口的方法叫切入点)

(这样看来,连接点不一定是切入点,但切入点一定是连接点。)

Advice(通知/增强):

所谓通知是指拦截到Joinpoint之后所要做的事情就是通知。
通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知。

(通知的查找方法:找到invoke方法中明确调用业务层那行代码,在其之前执行的就是前置通知,在其之后执行的就是后置通知,在catch中的就是异常通知,在finally中的就是最终通知。整个的invoke方法执行就是环绕通知。)
在这里插入图片描述

Introduction(引介):

引介是一种特殊的通知在不修改类代码的前提下, Introduction可以在运行期为类动态地添加一些方法或Field。

Target(目标对象):

代理的目标对象。(被代理的对象)

Weaving(织入):

织入是指把增强应用到目标对象来创建新的代理对象的过程。 spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入。

Proxy(代理):

一个类被AOP织入增强后,就产生一个结果代理类。(代理对象)

Aspect(切面):

切面是切入点和通知(引介)的结合。 (通俗理解:建立切入点方法和通知方法在执行调用的对应关系就是切面)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值