spring aop Pointcut execution规则介绍

spring aop Pointcut execution规则

任意公共方法的执行:

execution(public * *(..))
##public可以省略, 第一个* 代表方法的任意返回值 第二个参数代表任意包+类+方法 (..)任意参数

任何一个以“set”开始的方法的执行:

execution(* set*(..))

UserService接口的任意方法:

execution(* com.coffee.service.UserService.*(..))

定义在com.coffee.service包里的任意方法的执行:

execution(* com.coffee.service.*.*(..))
#第一个 .* 代表任意类, 第二个 .* 代表人以方法

定义在service包和所有子包里的任意类的任意方法的执行:

execution(* com.coffee.service..*.*(..))
# ..* 代表任意包或者子包

定义在com.coffee包和所有子包里的UserService类的任意方法的执行:

execution(* com.coffee..UserService.*(..))")

切面注解@Pointcut(“execution()“)写法

[权限修饰符] [包路径].[类(全部为*)].[方法](参数[所有..])

包路径内点与点之间也可以使用*代表所有

示例

* com.main.demo.*.*(..)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(spring aop Pointcut execution规则介绍)