我可以在aop java中声明围绕其自身的建议吗?

我做了一个注解(@MethodLogger),并在上面写了一个方面,该方面基本上记录了方法的时间并保持存储。因此,在我放置该注释的任何方法上,它都可以正常工作,但是在特殊的用例中,我需要监视建议本身:


例如:


@MethodLogger

@Around("some function specified")

public Object method(ProceedingJoinPoint pjp) throws Throwable{



// code here


}

但是这个东西行不通。它从不调用我的注释方面。


慕码人2483693
浏览 121回答 1
1回答

ibeautiful

这并不在Spring AOP工作,如记录在这里:向其他方面提供建议?在Spring AOP中,不可能使方面本身成为其他方面的建议目标。@Aspect类上的注释将其标记为一个方面,因此将其从自动代理中排除。如果要执行此操作,则需要在Spring中通过LTW激活完整的AspectJ。然后,如果您知道建议的方法名称,则可以直接将其作为目标。adviceexecution()如果您通常希望将切入点匹配限制为建议执行或通过排除匹配切入点,则甚至有一个特殊的切入点指示符!adviceexecution()。有关更多详细信息,请查看AspectJ文档。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java