Spring Boot多配置源下prod环境reference.prop属性取值问询
结论
激活prod profile时,应用上下文中reference.prop的最终值为 b,会优先读取prod profile对应配置文件的配置。
原因说明
基于Spring Boot默认的配置加载与属性解析规则,结果符合以下逻辑:
- 配置加载优先级:激活的profile特异性配置优先级高于全局默认配置,相同属性名的情况下
application-prod.properties的取值会覆盖application.properties的取值,因此上下文中my.prop的最终生效值为b - 占位符解析时机:YAML文件中的
${my.prop}占位符会在所有配置源加载完成、属性优先级合并完成后才解析,和YAML本身属于默认profile文档没有关系,只会取当前上下文合并完成后的my.prop最终值。
内容的提问来源于stack exchange,提问作者FaraBara
相关产品推荐
相关产品推荐

