Spring AOP Pointcut

Pointcut 介绍

Pointcut,切入点,它的作用是去描述匹配AOP的另一个概念join point,它描述joint point 所在的包,包中类执行的方法等。通过它,Spring Aop 就找到了join point 的位置,进而可以对join point 进行各种advice,比如 before advice,after advice,after returning advice 等。

Pointcut 组成

Pointcut 包含两个部分。第一部分为对join point 的描述,第二部分为自己的名字。如下

@Pointcut("execution(public  * com.example.*.*(..))")  //这部分是描述

public void   dataAccess(){  // 这部分是名字

}

Pointcut 的指示符

Pointcut 有如下的指示符

execution:表示匹配方法的执行join point。这个是Spring Aop 里面最重要的指示符。

within:现在匹配within所描述的类型下面的所有方法的join point。

this:限制匹配joint point 是this 所指定的类型的join point.

target:限制匹配join point 是target 所指定的类型的join point.

args:限制匹配join point 的参数是 args 所指定的类型。

@args:限制匹配joint point 的所传参数含@args指定的注解。

@target:限制匹配join point 的实例含@target指定的注解。

execution 指示符的具体描述

 execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern)
                throws-pattern?)

modifiers-pattern?  访问权限 比如:  public , private, 等 可选。

ret-type-pattern:返回值类型, 必须  ,可以用 * 标识任意。

declaring-type-pattern?:可选  必须

name-pattern:全类路径名  必须 ()参数为空  (..)任意参数   (*)任意的一个参数  (*.String) 第一个参数任意,第二个参数为string 类型。

param-pattern:参数列表  必须

throws-pattern?:异常,可选

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值