我对@ConditionalOnProperty
有点困惑。
@Configuration
@EnableScheduling
@ConditionalOnProperty(prefix = "enable.schedule", name="task",havingValue="1", matchIfMissing = false)
public class SchedulingConfig {
}
我的理解是=>如果有一个属性叫做enable.schedule.task
值1
那么SchedulingConfig
bean将被创建。(到目前为止,我认为我是正确的,我得到了正确的)
在我的一个服务器上,我得到以下系统属性时,我感到困惑enable.schedule.task:{value:"0"}
根据我的理解,如果有属性叫enable.schedule.task
值0
那么SchedulingConfig
bean应该不会创建。最重要的是,我们有matchIfMissing
作为false
。但是要创建SchedulingConfig。
那么为什么bean的值是0
呢?我哪里做错了?
注意:设置为CATALINA_OPTS:{value: "-Denable.schedule.task=0"}
。这应该成为一个问题吗?
谢谢。
似乎有一个问题
@ConditionalOnProperty
这里报告了相同的行为。我们使用的是spring启动版本2.0.3。RELEASE不同于所提供的链接。但是,发生了相同的意外bean创建。
但当测试用弹簧启动2.5.5。