Sprng Boot項目如何讀取外部配置文件

springboot啓動讀取外部配置文件
  有時候項目打包成一個jar 或者war ,通過java -jar 命令運行springboot 項目,因爲springboot 項目有自己的application.properties 配置文件,但是我們打完包之後,它也會打到包裏邊,倒是也能打開壓縮包修改properties 文件,但是也是較爲麻煩。 
  現在有如下需求,比如客戶需要在很多個服務器部署一套項目,但是它們的數據庫連接不一樣,我們不能針對於這麼多服務器,多次打包,很噁心,當然可以打完包,複製一堆,分別修改壓縮包裏邊的配置文件。

springboot 有讀取外部配置文件的方法,如下優先級:
第一種是在jar包的同一目錄下建一個config文件夾,然後把配置文件放到這個文件夾下。
第二種是直接把配置文件放到jar包的同級目錄。
第三種在classpath下建一個config文件夾,然後把配置文件放進去。
第四種是在classpath下直接放配置文件。
  看到如上的優先級了嗎?也就是說springboot 默認是優先讀取它本身同級目錄下的一個config/application.properties 文件的。我們通常在src/main/resources 文件夾下創建的application.properties 文件的優先級竟然是最低的!!!。

  下邊這個是config/application.properties 文件放置位置。提前我將它的port 設置爲1000 ,另外war 包裏也有一個application.properties 文件,它的port 是3000 。 
 
直接命令執行:

java -jar cloud-lyzx-project.war
1
  的確發現訪問端口是1000 ,而不是裏邊的3000 。

  然後我又拿到外邊來,下邊這個是application.properties 文件放置位置。提前我將它的port 設置爲2000 
 
在當前位置直接啓動jar包:

java -jar cloud-lyzx-project.war
1
  你會發現,訪問端口是2000 ,還不是裏邊的3000 。


--------------------- 
作者:JAVA碼上飄 
來源:CSDN 
原文:https://blog.csdn.net/wohaqiyi/article/details/79940380 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章