写了个切面,对方法上含有指定注解的方法进行拦截。
运行时发现,如果一个子类A继承了抽象父类B,并实现了父类的抽象方法,在子类的重写方法上加上指定注解,却发现这个方法在调用时不能被拦截。
哪位能给解释下,以及解决办法?
// 注解public @interface Profiling { }
// 父类public class B { public abstract void foo(); }
// 子类public class A extent B { // 加上了Profiling注解,想要此方法被拦截,但实际未被拦截 @Profiling @Override public void foo() { // do something } }
// 定义的切面public class Aspect { @Pointcut("@annotation(com.base.Profiling)") private void pointCut(){ } @Around("pointCut()") public Object around(ProceedingJoinPoint pjp) { // do something } }
倚天杖
相关分类