Posted on 2009-12-04 10:57
landor 閱讀(270)
評論(0) 編輯 收藏 所屬分類:
spring
類別
|
函數(shù)
|
入?yún)?/div>
|
說明
|
方法切點函數(shù)
|
execution()
|
方法
匹配模式串
|
表示滿足某一匹配模式的所有目標類方法連接點。如execution(* greetTo(..))表示所有目標類中的greetTo()方法。
|
@annotation()
|
方法注
解類名
|
表示標注了特定注解的目標方法連接點。如@annotation(com.baobaotao.anno.NeedTest)表示任何標注了@NeedTest注解的目標類方法。
|
方法入?yún)⑶悬c函數(shù)
|
args()
|
類名
|
通過判別目標類方法運行時入?yún)ο蟮念愋投x指定連接點。如args(com.baobaotao.Waiter)表示所有有且僅有一個按類型匹配于Waiter的入?yún)⒌姆椒ā?/div>
|
@args()
|
類型注
解類名
|
通過判別目標方法的運行時入?yún)ο蟮念愂欠駱俗⑻囟ㄗ⒔鈦碇付ㄟB接點。如@args(com.baobaotao.Monitorable)表示任何這樣的一個目標方法:它有一個入?yún)⑶胰雲(yún)ο蟮念悩俗?#64;Monitorable注解。
|
目標類切點函數(shù)
|
within()
|
類名匹配串
|
表
示特定域下的所有連接點。如within(com.baobaotao.service.*)表示com.baobaotao.service包中的所有
連接點,也即包中所有類的所有方法,而within(com.baobaotao.service.*Service)表示在
com.baobaotao.service包中,所有以Service結尾的類的所有連接點。
|
target()
|
類名
|
假如目標類按類型匹配于指定類,則目標類的所有連接點匹配這個切點。如通過target(com.baobaotao.Waiter)定義的切點,Waiter、以及Waiter實現(xiàn)類NaiveWaiter中所有連接點都匹配該切點。
|
@within()
|
類型注解類名
|
假如目標類按類型匹配于某個類A,且類A標注了特定注解,則目標類的所有連接點匹配這個切點。
如@within(com.baobaotao.Monitorable)定義的切點,假如Waiter類標注了@Monitorable注解,則Waiter以及Waiter實現(xiàn)類NaiveWaiter類的所有連接點都匹配。
|
@target()
|
類型注解類名
|
目標類標注了特定注解,則目標類所有連接點匹配該切點。如@target(com.baobaotao.Monitorable),假如NaiveWaiter標注了@Monitorable,則NaiveWaiter所有連接點匹配切點。
|
代理類切點函數(shù)
|
this()
|
類名
|
代理類按類型匹配于指定類,則被代理的目標類所有連接點匹配切點。這個函數(shù)比較難理解,這里暫不舉例,留待后面詳解。
|