【发布时间】:2017-11-04 05:42:22
【问题描述】:
spring-boot YAML 文件中是否有一种方法可以与 HOCON 文件中的相同,您可以在其中使用默认值并能够使用如下环境变量覆盖它:
basedir = "/whatever/whatever"
basedir = ${?FORCED_BASEDIR}
在这种情况下,在 HOCON 中,如果您未定义名为 FORCED_BASEDIR 的环境变量,则 basedir 将为“/whatever/whatever”,但如果您这样做,则 basedir 的值将是环境变量中定义的任何值。
谢谢
所以根据下面的 webdizz 回答,我查了一下,在“Spring Boot in Action”一书中找到了很好的描述。这是层次结构:
事实上,有几种方法可以为 Spring Boot 应用程序设置属性。春天 Boot 会从多个属性源中提取属性,包括:
- 命令行参数
- 来自 java:comp/env 的 JNDI 属性
- JVM 系统属性
- 操作系统环境变量
- 为以 random.* 为前缀的属性随机生成的值(参考 设置其他属性时,例如`${random.long})
- 应用程序外部的 application.properties 或 application.yml 文件 授权给 Thomas Snead 58 第 3 章自定义配置
- 一个 application.properties 或 application.yml 文件打包在 应用
- @PropertySource 指定的属性源
- 默认属性
【问题讨论】:
标签: spring-boot