/** * 父控制器: */ @Before(ParentInterceptor.class) public abstract class ParentController extends Controller { } /** * 控制器: */ @Before(ThisInterceptor.class) public abstract class ThisController extends ParentController { }
虽然继承了父控制器,但测试发现父控制器的拦截器并没有生效
而是直接被当前控制器的@Before给覆盖了。
如果把当前控制器上的@Before注解拿掉,父控制器上的拦截器才会生效
除非使用@Before({...})数组的方式把父类的拦截器再引用一次,否则就会覆盖。
@JFinal 请问怎么才能让@Before可以继承而不是覆盖父类的拦截器
继承过来的方法,如果子类中的方法有 @Before , 则父类的将失效