1. 程式人生 > >Sprng Boot專案如何讀取外部配置檔案

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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!