ConditionalOnProperty -不拾取环境变量



我对@ConditionalOnProperty有点困惑。

@Configuration
@EnableScheduling
@ConditionalOnProperty(prefix = "enable.schedule", name="task",havingValue="1", matchIfMissing = false)
public class SchedulingConfig {
}

我的理解是=>如果有一个属性叫做enable.schedule.task1那么SchedulingConfigbean将被创建。(到目前为止,我认为我是正确的,我得到了正确的)

在我的一个服务器上,我得到以下系统属性时,我感到困惑enable.schedule.task:{value:"0"}

根据我的理解,如果有属性叫enable.schedule.task0那么SchedulingConfigbean应该不会创建。最重要的是,我们有matchIfMissing作为false。但是要创建SchedulingConfig。

那么为什么bean的值是0呢?我哪里做错了?

注意:设置为CATALINA_OPTS:{value: "-Denable.schedule.task=0"}。这应该成为一个问题吗?

谢谢。

似乎有一个问题

@ConditionalOnProperty

这里报告了相同的行为。我们使用的是spring启动版本2.0.3。RELEASE不同于所提供的链接。但是,发生了相同的意外bean创建。

但当测试用弹簧启动2.5.5。

最新更新