Spring的AOP:Pointcut、Advice、Advisor

1:Pointcut

 

在介绍Pointcut之前,有必要先介绍  Join  Point(连接点)概念。

连接点:程序运行中的某个阶段点,比如方法的调用、异常的抛出等。比如方法doSome();

Pointcut是JoinPoint的集合,它是程序中需要注入Advice 的位置的集合,指明Advice要在什么样的条件下才能被触发。

               org.springframework.aop.pointcut接口用来指定到特定的和方法,

package org.springframework.aop;

public interface Pointcut {    
    //获取类过滤器 用来将切入点限定在给定的目标类中    
    ClassFilter getClassFilter();    
  
    //获取匹配切入点的方法 用来判断切入点是否匹配目标类的给定的方法       
    MethodMatcher getMethodMatcher();    
  
    //总匹配的标准切入点实例    
    Pointcut TRUE = TruePointcut.INSTANCE;    
}   

在Pointcut接口中主要有两个接口:ClassMatcher和MethodMatcer,有利于代码的重用。

2:Advice  

它是某个连接点所采用的处理逻辑,也就是向连接点注入的代码。例如:输出日志信息   就是一个Advice

Advice通知是AOP联盟定义的一个接口,定义当拦截到连接点做相应的处理操作,为切面增强提供织入接口。在spring AOP中,通知主要描述Spring AOP围绕方法调用而注入切面的行为,Spring AOP的通知扩展了AOP联盟的通知接口,提供了前置通知BeforeAdvice、后置通知AfterReturningAdvice、最终通知AfterAdvice和例外通知ThrowsAdvice等。

3:Advisor

Advisor是Pointcut和Advice的配置器,它包括PointcutAdvice,是将Advice注入程序中Pointcut位置的代码

当完成对目标对象方法的增强行为操作(Advice)和切入点Point的设计开发之后,需要一个对象将目标对象、增强行为和切入点三者结合起来,通知器Advisor就是一个实现这个功能的对象,即通过Advisor通知器,可以定义那些目标对象的那些方法在什么地方使用这些增加的行为。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值