Springboot配置文件獲取系統環境變量的值


注意,這里說的是獲取系統環境變量的值,譬如Windows里配置的JAVA_HOME之類的,可以直接在Springboot的配置文件中獲取。

我們經常使用一些docker管理平台,如DaoCloud、rancher之類的,里面都可以配置環境變量,目的當然也就是供程序獲取。使用環境變量的話,可以避免在application.yml里直接明文編寫數據庫密碼、appkey之類的。

我主要用在docker容器管理的Daocloud里面,通過環境變量獲取宿主機的ip:端口。

用法很簡單,首先通過docker inspect可以看到容器里有哪些可以直接使用的環境變量

 

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

eureka.instance.instance-id=${HOST}:${PORT0}

然后在代碼里就能根據eureka.instance.instance-id取到環境變量配置的值了。
當然還有一些高級用法,譬如你忘了配置環境變量了,上面的寫法就取不到值了,可以使用

mysql.password=${MYSQL_PWD:password123456}

使用冒號分隔,當環境變量中MYSQL_PWD為空時,就會使用password123456來填充了。
通過上面的方式,就可以做到不明文編碼一些敏感密碼之類的,只配置在環境變量里,就能避免所有開發人員看到了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM