如何创建一个面向所有公共方法的方面,这些公共方法属于标有特定注释的类?在下面的方法1 ()和方法2 ()应该由方面处理,方法3()不应该由方面处理。
@SomeAnnotation(SomeParam.class)
public class FooServiceImpl extends FooService {
public void method1() { ... }
public void method2() { ... }
}
public class BarServiceImpl extends BarService {
public void method3() { ... }
}
如果我在方法级别上添加注释,则此方面将起作用并匹配方法调用。
@Around("@annotation(someAnnotation)")
public Object invokeService(ProceedingJoinPoint pjp, SomeAnnotation someAnnotation)
throws Throwable {
// need to have access to someAnnotation's parameters.
someAnnotation.value();
}
我正在使用 Spring 和基于代理的方面。