2011-10-18 38 views
2

我想在特定的包中執行一個執行方法。@AspectJ切入點用於執行包的方法

對此有什麼可能的切入點?

注意:我使用@AspectJ風格的Spring AOP。

+0

請更詳細。所以...你有一個你想調用的方法叫做execute(),你想從哪裏執行它? – MeBigFatGuy

+2

如果我正確理解你,你需要執行以下 執行(* com.company .. *(..)) 如果我們談論執行切入點 – SirVaulterScoff

+0

thanx SirVaulterScoff這可以適用於包中的每個方法,但我想執行一個名爲abc的特定方法,那麼我需要提供它的位置? –

回答

6

這裏有一個外表http://www.eclipse.org/aspectj/doc/released/adk15notebook/annotations-pointcuts-and-advice.html

@(org.xyz..*)匹配,其具有任一種 註釋的類型的類型圖案(org.xyz..*)匹配的任何註解的元素。在其他 單詞中,帶有註釋的註釋元素在 org.xyz包或子包中聲明。 (括號在 這個例子中是必需的)。

所以,你應該有以下AOP的配置:

<aop:config> 
<aop:advisor advice-ref="myAdvice" pointcut="execution(* com.mycompany..*(..))" order="1"/> 
</aop:config> 

,爲此建議匹配豆

<bean id="myadvice" class="com.mycompany.MyIntercetpor"/> 

攔截器應實現org.aopalliance.intercept.MethodInterceptor