切點函式詳解

2021-05-22 18:30:57 字數 1029 閱讀 3323

一    @annotation ("com.sias.a")  匹配標註了@a的所有方法

二    execution(《修飾符》?《返回值型別》《方法名模式》(《引數模式》)《異常模式》?)

通過方法簽名定義切點 

execution(public  * *(..))匹配所有目標類的public方法

execution(* *to(..))匹配目標類中所有方法名以to為字尾的方法(第乙個"*"代表返回值型別,第二個代表以to為字尾的方法名)

通過類定義切點

execution(* com.sias.waiter.*(..))匹配waiter介面的所有方法(即匹配介面waiter實現類中waiter中的那些方法)

execution(* com.sias.waiter+.*(..))匹配waiter及其實現類的所有方法(即匹配介面實現類中的waiter中的方法,也匹配實現類中新增加的方法)

通過類包定義切點

execution(* com.sias.*(..))匹配com.sias包下所有類的方法

execution(* com..*(..))匹配com包,子孫包下的所有類的所有方法

execution(* com..*.*to.find*(..))匹配包名字首為com的任何包下類名字尾為to的類的方法,方法名必須以find為字首

通過方法入參定義切點

execution(* joke(string,int))

execution(* joke(string,*))入參兩個引數

execution(* joke(string,..))入參多個引數

execution(* joke(object+))入參object及其子類

三    target(com.sias.waiter)=this(com.sias.seller)匹配waiter中的方法,但不匹配通過引介seller增強的方法

target(com.sias.seller)=this(com.sias.waiter)waiter和seller中的方法都不匹配

先說這幾個,有時間再說後續的

AspectJ切點函式

1.方法切點函式 execution 根據匹配規則匹配 eg 前置增強 before execution public service 匹配所有以service結尾的方法 annotation 根據相應的的註解匹配 eg 後置增強 afterreturning annotation com.sxd....

spring aop 切點函式基礎

詳細參考 表示匹配使用 annotation指定註解標註的方法將會被環繞 before value annotation com.ghq.cloud.anno.needtest 語法 execution 修飾符模式 返回值模式 方法名模式 引數模式 異常模式 例1 execution public ...

Spring AOP 切點語法詳解

spring借助aspectj的切點表示式語言來定義的切點 aspectj指示器 描述arg 限制連線點匹配引數為指定型別的執行方法 args 限制連線點匹配引數由指定註解標註的執行方法 execution 用於匹配是連線點的執行方法 this 限制連線點匹配aop 的bean引用為指定型別的類 t...