Java @条件不在继承类上工作?
我有一个用@ConditionalMyCondition.class注释的简单类 e、 g: 然后我有一个配置bean,它扩展了这个bean:Java @条件不在继承类上工作?,java,spring,annotations,Java,Spring,Annotations,我有一个用@ConditionalMyCondition.class注释的简单类 e、 g: 然后我有一个配置bean,它扩展了这个bean: @Configuration public class MyConfig extends MyBean { ... } 似乎忽略了@Conditional,并且始终处理@Configuration,无论该条件如何解决,甚至没有调用它 一旦我将@Conditional注释移动到MyConfig,一切都会按预期工作 从文档: @Conditional注
@Configuration
public class MyConfig extends MyBean {
...
}
似乎忽略了@Conditional,并且始终处理@Configuration,无论该条件如何解决,甚至没有调用它
一旦我将@Conditional注释移动到MyConfig,一切都会按预期工作
从文档:
@Conditional注释可通过以下任一方式使用:
直接或间接作为任何类上的类型级别注释
用@Component注释,包括@Configuration类
作为元注释,用于编写自定义原型
注释
作为任何@Bean方法上的方法级注释
我假设第一点适用于这里,即MyConfig是用@Configuration间接注释的。还是间接引用了用@Conditional注释的其他注释
感谢您根据@Conditional的
注意:@条件批注不是继承的;不考虑来自超类或重写方法的任何条件
@Conditional注释不是@Inherited的,因此它在子类上不可见 好的,在医生里漏掉了,谢谢你给我指出了正确的方向。为什么这是不允许的?
@Configuration
public class MyConfig extends MyBean {
...
}