【发布时间】:2013-11-21 20:56:29
【问题描述】:
我有下面的结构(我用注解@Intercepted来表示被拦截的方法):当我调用被拦截的方法为intercepted()而不使用
super 关键字按预期调用拦截器。但是,当以以下方式调用 super.intercepted() 时,永远不会调用拦截。为什么会这样?
public class Base {
@Intercepted
public void intercepted() {}
}
public class BaseImpl extends Base {
public void doSomething() {
super.intercepted(); //<-- does not work
intercepted(); //<--- without the super, it works
}
}
【问题讨论】:
-
你使用什么版本的cglib?您是否尝试过降级/升级它?
-
我用它作为依赖来客观化。我不确定这是否与版本有关。
-
您可能想将问题标题更改为:为什么 cglib 不代理超级调用? 或类似的东西。
标签: java interceptor cglib