spring一些通用切入点表达式的例子
-
任意公共方法的执行:
execution(public * *(..))
-
任何一个名字以“set”开始的方法的执行:
execution(* set*(..))
-
AccountService
接口定义的任意方法的执行:execution(* com.xyz.service.AccountService.*(..))
-
在service包中定义的任意方法的执行:
execution(* com.xyz.service.*.*(..))
-
在service包或其子包中定义的任意方法的执行:
execution(* com.xyz.service..*.*(..))
- 如果只拦截返回方法为String类型的,表达式应为::
execution(java.lang.String com.xyz.service..*.*(..))
- 如果只拦截第一个输入参数为String类型的方法,表达式应为::
execution(* com.xyz.service..*.*(java.lang.String,..))
- 如果只拦截非void返回类型的方法,表达式应为::
execution(!void com.xyz.service..*.*(..))