AOP的连接点与切点区别,连接点,切点,切面的基础概念

AOP的连接点、切点、切面、引入、织入、通知的概念

1、通知(Advice)

通知定义了何时,做什么。

Spring切面可以应用五种类型的通知:

  • 前置通知(Before): 在目标方法被调用之前通知功能。
  • 后置通知(After):在目标方法被调用之后通知功能。
  • 返回通知(After-returning):在目标方法执行成功之后调用通知。
  • 异常通知(After-throwing):在目标方法抛出异常之后调用通知。
  • 环绕通知(Around):通知包含了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。

 

2、织入(weaving)

把切面应用到目标对象并创建代理对象的过程。切点在指定的连接点(切点)被织入到目标对象中。在目标的生命周期中,有多个点可以被织入:

编译期、类加载期、运行期

 

3、连接点(JoinPoint)

连接点是在应用执行过程中能够插入切面(Aspect)的一个点。这些点可以是调用方法时、甚至修改一个字段时。

它是一个虚拟的概念,例如坐地铁的时候,每一个站都可以下车,那么这每一个站都是一个接入点。假如一个对象中有多个方法,那么这个每一个方法就是一个连接点。

 

4、切入点(Pointcut)

切入点是一些特使的连接点,是具体附加通知的地方。切点定义了匹配通知在何处织入。

例如坐地铁的时候,具体在某个站下车,那这个站就是切入点

 

5、切面 (Aspect)

切面是通知和切入点的结合,通知规定了在什么时机干什么事,切入点规定了在什么地方。如“在8点钟在西站下车“ 就是一个切面。那么时间8点,动作下车就是一个通知。西站就是一个切入点。

 

6、引入(introduction)

允许我们向现有的类添加新方法属性。

 

posted @ 2022-04-11 14:41  r1-12king  阅读(787)  评论(0编辑  收藏  举报