我们使用基于注解的 AOP 来拦截功能。
基础接口:
public interface BaseInterface {
public void someMethod();
}
抽象基础实现:
public abstract class AbstractBaseImplementation implements BaseInterface {
public void someMethod() {
//some logic
}
}
子接口:
public interface ChildInterface extends BaseInterface {
public void anotherMethod();
}
实现类
public class ActualImplemetation extends AbstractBaseImplementation implements ChildInterface {
public void anotherMethod() {
// Some logic
}
}
有许多从AbstractBaseImplementation
. 创建自定义注释以识别切点。
方面是
@Aspect
public class SomeAspect {
@Before("@annotation(customAnnotation)")
public void someMethod(JoinPoint joinPoint) {
//Intercept logic
}
}
我们如何ActualImplemetation.someMethod
使用基于 Annotation 的 AOP 进行拦截(在父类中实现)?
使用 aop 配置,这可以通过
<aop:advisor pointcut="execution(* com.package..*ActualImplemetation .someMethod(..))" advice-ref="someInterceptor" />