類別
|
函數
|
入參
|
說明
|
方法切點函數
|
execution()
|
方法
匹配模式串
|
表示滿足某一匹配模式的所有目標類方法連接點。如execution(* greetTo(..))表示所有目標類中的greetTo()方法。
|
@annotation()
|
方法注
解類名
|
表示標注了特定注解的目標方法連接點。如@annotation(com.baobaotao.anno.NeedTest)表示任何標注了@NeedTest注解的目標類方法。
|
|
方法入參切點函數
|
args()
|
類名
|
通過判別目標類方法運行時入參對象的類型定義指定連接點。如args(com.baobaotao.Waiter)表示所有有且僅有一個按類型匹配于Waiter的入參的方法。
|
@args()
|
類型注
解類名
|
通過判別目標方法的運行時入參對象的類是否標注特定注解來指定連接點。如@args(com.baobaotao.Monitorable)表示任何這樣的一個目標方法:它有一個入參且入參對象的類標注@Monitorable注解。
|
|
目標類切點函數
|
within()
|
類名匹配串
|
表
示特定域下的所有連接點。如within(com.baobaotao.service.*)表示com.baobaotao.service包中的所有
連接點,也即包中所有類的所有方法,而within(com.baobaotao.service.*Service)表示在
com.baobaotao.service包中,所有以Service結尾的類的所有連接點。
|
target()
|
類名
|
假如目標類按類型匹配于指定類,則目標類的所有連接點匹配這個切點。如通過target(com.baobaotao.Waiter)定義的切點,Waiter、以及Waiter實現類NaiveWaiter中所有連接點都匹配該切點。
|
|
@within()
|
類型注解類名
|
假如目標類按類型匹配于某個類A,且類A標注了特定注解,則目標類的所有連接點匹配這個切點。
如@within(com.baobaotao.Monitorable)定義的切點,假如Waiter類標注了@Monitorable注解,則Waiter以及Waiter實現類NaiveWaiter類的所有連接點都匹配。
|
|
@target()
|
類型注解類名
|
目標類標注了特定注解,則目標類所有連接點匹配該切點。如@target(com.baobaotao.Monitorable),假如NaiveWaiter標注了@Monitorable,則NaiveWaiter所有連接點匹配切點。
|
|
代理類切點函數
|
this()
|
類名
|
代理類按類型匹配于指定類,則被代理的目標類所有連接點匹配切點。這個函數比較難理解,這里暫不舉例,留待后面詳解。
|
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||