查看当前的Spring(Boot)属性

时间:2017-03-28 13:33:18

标签: spring-boot properties-file

我将一个Spring Boot应用程序作为.jar文件运行,该文件部分从application.yml中获取其属性,这些属性位于jar中,而另一部分属性是从位于jar外部的另一个application.yml提供的。外部的一些属性会从内部覆盖属性。为了测试属性是否被正确覆盖,我希望看到当前活动的属性。开箱即用可以实现吗?或者是通过属性输出逻辑扩展我的应用程序的唯一解决方案?

2 个答案:

答案 0 :(得分:5)

如果您向依赖项添加Spring Boot Actuator,则可以在actuator endpoints查看大量配置和其他信息。您可以在/configprops端点查看属性。

答案 1 :(得分:0)

至少从Spring Boot 2.0起,actuator/env将按其优先级返回每个propertySources的所有属性的列表,即。如果在> 1个源中重新定义了一个属性,则从顶部开始的第一个匹配项读数是活动的。

对于单个属性actuator/env/<property-name>将返回有效值及其定义的来源

{
    "property": {
        "source": "applicationConfig: [file:../application-tom.properties]",
        "value": "DEBUG"
    },
...
}

注意:我不知道这是否会反映出以编程方式修改spring上下文时可能发生的任何更改。但是,这很重要。一个人都不应该这样做。