spring aop 切点函数基础

详细参考:
https://www.cnblogs.com/zhangxufeng/p/9160869.html

1. @annotation()

表示匹配使用@annotation指定注解标注的方法将会被环绕
代码:

@Before(value = "@annotation(com.ghq.cloud.anno.NeedTest)")

2. execution()

语法:execution(<修饰符模式>? <返回值模式> <方法名模式>(<参数模式>) <异常模式>?)
例1:

execution(public * *(..)) : 
表示匹配所有目标类的public方法,非public方法不匹配。
第一个 * 代表返回值类型,(* 表示匹配所有)
第二个 * 代表方法名
括号内 .. 代表任意入参的方法

例2:

execution(* *To(..)) :  
表示匹配所有的以To为后缀的目标方法。

例3:

execution(* com.abc.Waiter.*(..)) :  
表示匹配com.abc.Waiter中所有的方法
第一个 * 代表 所有的返回值类型
第一个 * 代表所有的方法名

例4:

execution(* com.abc.Waiter+.*(..)) :  
表示匹配com.abc.Waiter以及其子类(子类的方法可以不在父类中声明)中所有的方法

例5:

execution(* com.abc.*(..)) :  
表示匹配包 com.abc  下所有类

例6:

execution(* com.abc..*(..)) :  
表示匹配包 com.abc 以及其子包,孙子包 下所有类

例7:

execution(* com..*.*Dao.find*(..)) :  
表示匹配包 com以及其子包,孙子包 下所有以Dao为或追的类的所有的以find开头的所有方法

在这里插入图片描述

3. args()和@args()

在这里插入图片描述

4. within()

5. @within()和@target()

6. target()和this()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值