我是AOP的新手,已经完成了这里的教程:https://eclipse.org/aspectj/并对方面的工作方式有了基本的了解。
这就是我想要做的。
有一个名为“MyAnnotation”的@annotation,让我说我有一个像这样装饰的方法
@MyAnnotation
public void MyMethod() {
//something here
}
我写了一个像这样的方面类:
@Aspect
public class MyAspect {
@Around("@annotation(MyAnnotation)")
public void MyAdvice(ProceedingJoinPoint p) throws Throwable {
// I want to call an intereceptor here, for example
SomeInterceptor.invoke(methodInvocation)
p.proceed();
}
}
SomeInterceptor
在依赖包中,我不拥有代码。它扩展了MethodInterceptor
中的org.aopalliance.intercept
类。在调用MyMethod
之前,我需要在我的advice方法中执行一些处理。我不能使用Guice.bindInterceptor
并且正在寻找类似的替代方案。我不知道如何获得我可以传递给调用方法的methodInvocation
对象。
谢谢!
答案 0 :(得分:0)
这就是我需要的:https://github.com/eclipse/org.aspectj/tree/master/docs/sandbox/aopalliance
这是aspectJ和AOPAlliance之间的桥梁。