[英]Is it possible to forbid annotation inheritance?
我有一个 controller 超类及其子类:
public class SuperController {
@Resource
private A resourceA;
}
public class SubController extends SuperController {
@Resource
private B resourceB;
}
我没有在Subcontroller
中使用resourceA
字段,但是Subcontroller
充当SuperController
并且具有相同的方法。 那么如何禁止@Resource
注解的inheritance,就像这样:
public class SuperController {
**private** @Resource
private A resourceA;
}
如果子类不使用父 class 的某些字段,听起来您需要一个通用的抽象 class。
public abstract class AbstractController {
// common fields.
// common methods.
}
public class SuperController extends AbstractController {
@Resource
private A resourceA;
}
public class SubController extends AbstractController {
@Resource
private B resourceB;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.