(殘夢追月原創(chuàng)……轉(zhuǎn)載注明,如有不當(dāng)之處,歡迎斧正!)
由于動(dòng)態(tài)切入點(diǎn)除了要考慮方法的名稱等靜態(tài)信息外,還要考慮方法的參數(shù)。由于它是動(dòng)態(tài)的,在執(zhí)行時(shí)既要計(jì)算方法的靜態(tài)信息,還要計(jì)算其參數(shù),結(jié)果也不能被緩存。因此,動(dòng)態(tài)切入點(diǎn)要消耗更多的系統(tǒng)資源。
Spring中提供了如下幾種動(dòng)態(tài)切入點(diǎn)的實(shí)現(xiàn),說明如下:
1、ControlFlowPointcut:控制流程切入點(diǎn)。比如只有在某個(gè)特定的類或方法中調(diào)用某個(gè)連接點(diǎn)時(shí),裝備才會(huì)被觸發(fā),這時(shí)就可以使用ControlFlowPointcut。但是它的系統(tǒng)開銷很大,在追求高效的應(yīng)用中,不推薦使用。
2、DynamicMethodMatcherPointcut:動(dòng)態(tài)方法匹配器。是抽象類,擴(kuò)展該類可以實(shí)現(xiàn)自己的動(dòng)態(tài)Pointcut。
By:殘夢追月
posted on 2008-08-10 19:19
殘夢追月 閱讀(2267)
評(píng)論(0) 編輯 收藏 所屬分類:
Spring