spring boot 與 操作系統(tǒng)環(huán)境變量的交互
? ----知識在于點滴的積累
我們知道,spring boot 可以根據(jù)環(huán)境的不同,分別獲取
application-{env}.yml 中配置的參數(shù)值,但是 怎么來決定到底是哪個環(huán)境的配置文件生效呢?
這里就涉及到 與環(huán)境變量的交互,環(huán)境變量的設(shè)置方式就不說了,
這里有必要參考下System.getenv()和System.getProperty() 的區(qū)別
直入正題:
譬如我系統(tǒng)環(huán)境變量里,配置的有 DEPLOY_ENV=PRE
那么就可以在application.properties使用如下
spring.profiles.active=${DEPLOY_ENV}
這樣生效的是哪個配置文件 就曉得了。當然還有一些高級用法,譬如你忘了配置環(huán)境變量了,上面的寫法就取不到值了,可以使用
spring.profiles.active=${DEPLOY_ENV:dev}
使用冒號分隔,當環(huán)境變量中DEPLOY_ENV為空時,就會使用 dev(開發(fā)環(huán)境配置),當然你也必須有
application-dev.properties 文件!
是不是從此配置信息就再也不用媽媽擔(dān)心了?~~~~~~~~~~~~~~~~