没有从application.properties获取属性|使用自定义浅层健康检查代替春季健康检查

时间:2018-10-10 13:19:48

标签: java spring spring-boot swagger spring-boot-actuator

要禁用弹簧浅层健康检查,请使用我们自己的浅层健康检查。

禁用执行器端点时,

  

endpoints.health.enabled = false

在我的应用程序中。

<bean id="imsPlaceholderConfig" class="com.xx.xxx.SpringPropertiesUtil">
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="locations">
            <list>
                <value>file:${config.path}/application.properties</value>
            </list>
        </property>
    </bean>

我的application.properties位于以下位置:

  

classpath:/ conf /

许多属性都保存在application.properties下,这些属性通过以下方式使用:@Value

一切正常,但不读取此属性。即

  • endpoints.health.enabled = false
  • spring.profiles.active =挥舞着

上面的两个属性没有被spring使用。

何时生效

  1. 运行Spring Boot应用程序时:

    mvn spring-boot:run -Dconfig.path =。/ src / main / resources / conf -Dspring.config.location =。/ src / main / resources / conf / application.properties

当我使用spring.config.location时,它将获取值并运行我的自定义浅层健康端点。

OR

2。当我将application.properties放在

下时
  

classpath:/

有效。

OR

  1. 当我使用@PropertyResource时,它会起作用。

我的问题是,当它从应用程序中选择其余属性时,为什么不立即选择上述属性。

我需要了解为什么这些属性不同于其他Bean使用的属性,并且一旦加载了application.properties,为什么不能从那里开始使用它呢?

0 个答案:

没有答案