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。

推薦閱讀: