Spring(5) -(14) pointcut 語法
AOP的規範本應該由SUM公司提出,但是被AOP聯盟捷足先登.AOP聯盟指定AOP規範,首先就要解決一個問題,怎麼表示切入點,也就是在哪些方法上增強(where)
AspectJ 是一個面向切面的框架:
AspectJ切入點語法如下:(表示在哪些包下的哪些類的哪些方法做切入增強)
execution(modifiners-pattern?ret-type-pattern declaring-type-pattern? name-param(param-patterm)throws-pattern?)
?表示:該引數可以出現一次或零次
翻譯成中文:
execution(<修飾符>?<返回型別> <宣告型別>?<方法名>(<引數>)<異常>?)
舉例:public static Class java.lang.Class.forName(String className) throws ClassNotFoundException
萬用字元
*
匹配任何部分,只能表示一個單詞
..
可用於全限定名中和方法引數中,分別表示子包和0到N個引數
spring-core 文件中的例子
Some examples of common pointcut expressions are given below.
the execution of any public method:
execution(public * *(..))
the execution of any method with a name beginning with "set":
execution(* set*(..))
the execution of any method defined by the AccountService interface:
execution(* com.xyz.service.AccountService.*(..))//常用
the execution of any method defined in the service package:
execution(* com.xyz.service.*.*(..))//常用
the execution of any method defined in the service package or a sub-package:
execution(* com.xyz.service..*.*(..))//常用
相關文章
- Spring 原始碼(14)Spring Bean 的建立過程(5)Spring原始碼Bean
- spring語法結構Spring
- 標日初級(上)——第14課(語法2)
- HTML5語法總結HTML
- 帶你瞭解Typescript的14個基礎語法TypeScript
- Python 中 PyQt5 庫語法(一)PythonQT
- 5月14日
- Linux-Shell語法(5)-常用命令Linux
- Hive基礎語法5分鐘速覽Hive
- ★5箭1關(14)★
- 一箭5關(14)
- Spring Cloud Alibaba(14)---SpringCloudAlibaba整合SleuthSpringCloudGC
- 英語語法
- Alpha衝刺(5/14)——2024.11.16
- Go編譯原理系列5(抽象語法樹構建)Go編譯原理抽象語法樹
- SAP UI5 的資料繫結語法概述UI
- HTML語法大全_html語言語法大全(必看)HTML
- JavaScript 新語法 「雙問號語法」與「可選鏈語法」JavaScript
- [一、基本語法]1基本語法概述
- PostgreSQL DBA(14) - WAL基本術語SQL
- 語法與語義
- Wfurent 語語法概述
- 每日總結5月14日
- Spring Training 5SpringAI
- 14-2 鏈地址法 Seperate ChainingAI
- Dart語法篇之基礎語法(一)Dart
- protobuf 語法,proto3 語法參考
- JAVA語法糖和語法糖編譯Java編譯
- 英語單詞記憶 詞源法-思維導圖(14)詞源press-51
- iOS 14 egret H5遊戲卡頓問題分析和部分解決辦法iOSH5遊戲
- AndroidManifest語法Android
- 模板語法
- 語法糖
- Makedown語法
- gitignore語法Git
- SQL語法SQL
- yaml語法YAML
- dockerfile 語法Docker