【发布时间】:2017-04-18 20:30:57
【问题描述】:
我是 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 在依赖包中,我不拥有代码。它扩展了org.aopalliance.intercept 中的MethodInterceptor 类。在调用MyMethod 之前,它会在我的建议方法中进行一些处理。我不能使用 Guice.bindInterceptor 并且正在寻找类似的替代方案。我不确定如何获取可以传递给调用方法的methodInvocation 对象。
谢谢!
【问题讨论】:
标签: aop aspectj spring-aop interceptor