AOP expression語法

在使用AOP時,指定一個pointcut的同時會定義一個expression,來表示對什麼方法使用AOP。

類似expression="execution(public * com.baidu.map.*Ctr.*Handle(…))"等

語法爲:execution(修飾符 返回值 包名.類名/接口名.方法名(參數列表))

其中:

1、返回類型、方法名、參數是必須有的.

2、表示任意值. 比如返回類型,方法名等.
3、(…)可以代表所有參數,(
)代表一個參數,(*,String)代表第一個參數爲任何值,第二個參數爲String類型.

舉例說明:
1、任意公共方法的執行:
execution(public * (…))
2、任何一個以“set”開始的方法的執行:
execution(
set*(…))
3、AccountService 接口的任意方法的執行:
execution(* com.xyz.service.AccountService.(…))
4、定義在service包裏的任意方法的執行:
execution(
com.xyz.service..(…))
5、定義在service包和所有子包裏的任意類的任意方法的執行:
execution(* com.xyz.service….(…))
6、定義在pointcutexp包和所有子包裏的JoinPointObjP2類的任意方法的執行:
execution(* com.test.spring.aop.pointcutexp…JoinPointObjP2.(…))")
最靠近(…)的爲方法名,靠近.
(…))的爲類名或者接口名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章