AOP相关术语

Joinpoint(连接点) (程序中所有方法的方法前、方法后、异常时等时机都是连接点)
Spring支持在方法调用前、方法调用后、方法抛出异常时这些程序执行点织入增强。
我们知道黑客攻击系统需要找到突破口,没有突破口就无法进行攻击,从这一角度上来说,AOP是一个黑客(因为它要向目前类中嵌入额外的代码逻辑),连接点就是AOP向目标类打入楔子的候选点。

Pointcut(切入点)(定位你感兴趣的方法)
一个类中可以有很多个方法,每个方法又有多个Joinpoint,在这么多个方法中,如何定位到自己感兴趣的方法呢?靠的是切点
注意:切点只定位到某个方法上,所以如果希望定位到具体连接点上,还需要提供方位信息
比如:如果把一个方法理解成数据表中的一条记录的话,那么切入点就好比你select语句的where条件 ,就可以定位到你感兴趣的方法

Advice(通知/增强)
增强的第一层意思就是你的横切逻辑代码(增强逻辑代码)
在Spring中,增强除了用于描述横切逻辑外,包含一层意思就是横切逻辑执行的方位信息。
刚刚说了切点只能定位到方法,在进一步使用方位信息就可以定位到我们感兴趣的连接点了(方法调用前、方法调用后还是方法抛出异常时等)。
增强:横切逻辑+方位信息(定位我们感兴趣的连接点)

Weaving(织入) 形象的描述了增强横切逻辑的整个过程
织入是将增强逻辑/横切逻辑添加到目标类具体连接点上的过程,AOP像一台织布机,将目标类、增强或者引介通过AOP(其实就是动态代理技术)这台织布机天衣无缝地编织到一起。
Spring采用动态代理织入。

**Proxy(代理)**代理对象
一个类被AOP织入增强后,就产出了一个结果类,它是融合了原类和增强逻辑的代理类。

Aspect(切面)
切面由切点和增强组成。
切面=切点+增强
=切点+(横切逻辑+方位信息)
=(切点+方位信息)+横切逻辑

AOP的切面:就是在描述将横切逻辑织入到我们感兴趣的方法的指定连接点上
AOP相关术语描述的本质:把横切逻辑代码织入到我们感兴趣的那些方法中的感兴趣的连接点位置上

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值