Spring AOP中pointcut expression表達式解析 及匹配多個條件

Spring AOP中pointcut expression表達式解析 及匹配多個條件

任意公共方法的執(zhí)行:
  execution(public * (..))
任何一個以“set”開始的方法的執(zhí)行:
  execution(
set(..))
AccountService 接口的任意方法的執(zhí)行:
  execution(
com.xyz.service.AccountService.(..))
定義在service包里的任意方法的執(zhí)行:
  execution(
com.xyz.service..(..))
定義在service包和所有子包里的任意類的任意方法的執(zhí)行:
  execution(* com.xyz.service...(..))
定義在pointcutexp包和所有子包里的JoinPointObjP2類的任意方法的執(zhí)行:
  execution(* com.test.spring.aop.pointcutexp..JoinPointObjP2.*(..))")
在多個表達式之間使用 ||,or表示 或,使用 &&,and表示 與,!表示 非.例如:

@Pointcut("@within(org.springframework.stereotype.Controller) || @within(org.springframework.web.bind.annotation.RestController)")

execution 用于匹配方法執(zhí)行的連接點;
@within :使用 “@within(注解類型)” 匹配所以持有指定注解類型內的方法;注解類型也必須是全限定類型名;
@annotation :使用 “@annotation(注解類型)” 匹配當前執(zhí)行方法持有指定注解的方法;注解類型也必須是全限定類型名;
@args 任何一個只接受一個參數(shù)的方法,且方法運行時傳入的參數(shù)持有注解動態(tài)切入點,類似于 arg 指示符;
@target 任何目標對象持有 Secure 注解的類方法;必須是在目標對象上聲明這個注解,在接口上聲明的對它不起作用
@args :使用 “@args( 注解列表 )” 匹配當前執(zhí)行的方法傳入的參數(shù)持有指定注解的執(zhí)行;注解類型也必須是全限定類型名;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Via http://jinnianshilongnian.iteye.com/blog/1415606 http...
    xiaobinZh閱讀 1,657評論 0 52
  • Spring AOP支持的AspectJ切入點指示符 Spring AOP支持的AspectJ切入點指示符如下: ...
    幽暗金閱讀 3,278評論 0 2
  • 不知道從什么時候開始 再也遇不到看一眼就心花怒放的人 甚至很難去喜歡上一個人 仿佛喜歡變成了適合這兩個字 條條框框...
    白羊座rabbit閱讀 298評論 0 0
  • 臘梅迎新一樹黃,游人賞景不畏涼。 竹柳隔岸遙相望,檐下人家為誰忙?
    張紀敏閱讀 211評論 0 0

友情鏈接更多精彩內容