2011-10-18 99 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