【发布时间】:2014-09-29 15:32:16
【问题描述】:
我在使用 SpringAOP + AspectJ 设置日志记录方面时遇到了一点麻烦。我希望在使用 @Loggable 注释对类或方法进行注释时触发“Around”方法。以下是我的建议代码:
@Around(value = "execution( * *(..)) && target(bean) && @annotation(loggable)", argnames "bean, loggable")
public void test1(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
@Around(value = "execution( * *(..)) && target(bean) && @within(loggable)", argnames "bean, loggable")
public void test2(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
@Around(value = "execution( * *(..)) && target(bean) && (@annotation(loggable) || @within(loggable))", argnames "bean, loggable")
public void test3(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
test1 和 test2 着火。 test3 没有,它是我真正想要的。关于为什么会这样的任何想法?
【问题讨论】:
标签: aop aspectj spring-aop