springboot啟動讀取外部配置文件


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

  的確發現訪問端口是1000 ,而不是里邊的3000 。

  然后我又拿到外邊來,下邊這個是application.properties 文件放置位置。提前我將它的port 設置為2000

 


————————————————
版權聲明:本文為CSDN博主「JAVA碼上飄」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wohaqiyi/java/article/details/79940380


免責聲明!

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



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