1. 程式人生 > 程式設計 >詳解SpringBoot配置檔案啟動時動態配置引數方法

詳解SpringBoot配置檔案啟動時動態配置引數方法

序言

當我們要同時啟用多個專案而又要使用不同埠或者變換配置屬性時,我們可以在配置檔案中設定${變數名}的變數來獲取啟動時傳入的引數,從而實現了動態配置引數,使啟用專案更加靈活

例子

server:
 port: ${PORT:50101} #服務埠
spring:
 application:
  name: xc‐govern‐center #指定服務名
eureka:
 client:
  registerWithEureka: true #服務註冊,是否將自己註冊到Eureka服務中
  fetchRegistry: true #服務發現,是否從Eureka中獲取註冊資訊
  serviceUrl: #Eureka客戶端與Eureka服務端的互動地址,高可用狀態配置對方的地址,單機狀態配置自己(如果不配置則預設本機8761埠)
   defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/} #向該地址上報心跳資訊等
 server:
  enable‐self‐preservation: false #是否開啟自我保護模式
  eviction‐interval‐timer‐in‐ms: 60000 #服務登錄檔清理間隔(單位毫秒,預設是60*1000)
 instance:
hostname: ${EUREKA_DOMAIN:eureka01}

${PORT:50101}:PORT是變數,當啟動時該變數為空則預設50101埠
語法意思是:從該yml配置檔案中或者啟動配置傳入的引數中獲取對應屬性值

可以類比一下寫@Value註解時的格式
@Value(" ${huang.name}")

我們springboot的配置檔案格式已經完成了,那麼如何啟動呢?

idea 點選 run -> edit configuration

在這裡插入圖片描述

設定配置檔案引數步驟
1、首先按“+"號新增一個Application(SpringBoot專案新增SpringBoot也可以)
2、設定檔名稱(隨便起一個就行)
3、主要我畫的三個紅圈地方
1)、第一個是啟動類的類路徑

2)、設定要傳入配置檔案中的變數值

比如我要傳入PORT這個變數的值:

server:
 port: ${PORT:50101} #服務埠

我們就這樣寫:
-DPORT=50101(-D可以理解為多個引數之間的分隔符)
多個引數就這樣寫:
-DPORT=50101 -DEUREKA_SERVER=http://eureka02:50102/eureka/ -DEUREKA_DOMAIN=eureka01

3)、專案名

完成,啟動

在這裡插入圖片描述

在這裡選擇剛剛搞好的設定的名字,然後點選執行就會按照該設定中的引數來執行該專案了

到此這篇關於詳解SpringBoot配置檔案啟動時動態配置引數方法的文章就介紹到這了,更多相關SpringBoot 動態配置引數內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!