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.*.*(..)
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringBoot AOP @Pointcut切入點表達式排除某些類方式
- Spring框架實現AOP的兩種方式詳解
- Java @Pointcut註解表達式案例詳解
- springboot aop裡的@Pointcut()的配置方式
- spring aop execution表達式的用法