Как создать pointcut, который соответствует методам, аннотированным аннотацией или чей интерфейсный метод аннотирован аннотацией?
public interface IService {
@SomeAnnotation
public void someMethod() { ... }
}
public class Service implements IService {
public void someMethod() { ... }
}
Я использую Spring AOP для автопроксирования AspectJ. Однако, если я определю pointcut как
execution(public * *(..)) && @annotation(SomeAnnotation)
совет не применяется к методу someMethod в Service.
Каким будет правильный pointcut, соответствующий этому методу, только с учетом того факта, что метод интерфейса имеет аннотацию? Является ли это возможным?
Если я помещаю аннотацию в метод Service someMethod, вышеуказанный pointcut будет работать, но в моем случае это не очень хорошее решение, поскольку аннотация является частью контракта и поэтому должна быть частью интерфейса, а не реализации.