我将一个Spring Boot应用程序作为.jar文件运行,该文件部分从application.yml中获取其属性,这些属性位于jar中,而另一部分属性是从位于jar外部的另一个application.yml提供的。外部的一些属性会从内部覆盖属性。为了测试属性是否被正确覆盖,我希望看到当前活动的属性。开箱即用可以实现吗?或者是通过属性输出逻辑扩展我的应用程序的唯一解决方案?
答案 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上下文时可能发生的任何更改。但是,这很重要。一个人都不应该这样做。