spring boot 与 操作系统环境变量的交互

spring boot 与 操作系统环境变量的交互

​ ----知识在于点滴的积累

我们知道,spring boot 可以根据环境的不同,分别获取

application-{env}.yml 中配置的参数值,但是 怎么来决定到底是哪个环境的配置文件生效呢?

这里就涉及到 与环境变量的交互,环境变量的设置方式就不说了,

这里有必要参考下System.getenv()和System.getProperty() 的区别

直入正题:

譬如我系统环境变量里,配置的有 DEPLOY_ENV=PRE

那么就可以在application.properties使用如下

spring.profiles.active=${DEPLOY_ENV}

这样生效的是哪个配置文件 就晓得了。当然还有一些高级用法,譬如你忘了配置环境变量了,上面的写法就取不到值了,可以使用

spring.profiles.active=${DEPLOY_ENV:dev}

使用冒号分隔,当环境变量中DEPLOY_ENV为空时,就会使用 dev(开发环境配置),当然你也必须有

application-dev.properties 文件!

是不是从此配置信息就再也不用妈妈担心了?~~~~~~~~~~~~~~~~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容