溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot中如何實現(xiàn)動態(tài)配置配置文件的參數(shù)

發(fā)布時間:2020-11-16 15:40:53 來源:億速云 閱讀:779 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹SpringBoot中如何實現(xiàn)動態(tài)配置配置文件的參數(shù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

序言

當(dāng)我們要同時啟用多個項目而又要使用不同端口或者變換配置屬性時,我們可以在配置文件中設(shè)置${變量名}的變量來獲取啟動時傳入的參數(shù),從而實現(xiàn)了動態(tài)配置參數(shù),使啟用項目更加靈活

例子

server:
 port: ${PORT:50101} #服務(wù)端口
spring:
 application:
  name: xc‐govern‐center #指定服務(wù)名
eureka:
 client:
  registerWithEureka: true #服務(wù)注冊,是否將自己注冊到Eureka服務(wù)中
  fetchRegistry: true #服務(wù)發(fā)現(xiàn),是否從Eureka中獲取注冊信息
  serviceUrl: #Eureka客戶端與Eureka服務(wù)端的交互地址,高可用狀態(tài)配置對方的地址,單機(jī)狀態(tài)配置自己(如果不配置則默認(rèn)本機(jī)8761端口)
   defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/} #向該地址上報心跳信息等
 server:
  enable‐self‐preservation: false #是否開啟自我保護(hù)模式
  eviction‐interval‐timer‐in‐ms: 60000 #服務(wù)注冊表清理間隔(單位毫秒,默認(rèn)是60*1000)
 instance:
hostname: ${EUREKA_DOMAIN:eureka01}

${PORT:50101}:PORT是變量,當(dāng)啟動時該變量為空則默認(rèn)50101端口
語法意思是:從該yml配置文件中或者啟動配置傳入的參數(shù)中獲取對應(yīng)屬性值

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

我們springboot的配置文件格式已經(jīng)完成了,那么如何啟動呢?

idea 點擊 run -> edit configuration

SpringBoot中如何實現(xiàn)動態(tài)配置配置文件的參數(shù)

設(shè)置配置文件參數(shù)步驟
1、首先按“+"號添加一個Application(SpringBoot項目添加SpringBoot也可以)
2、設(shè)置文件名稱(隨便起一個就行)
3、主要我畫的三個紅圈地方
1)、第一個是啟動類的類路徑
2)、設(shè)置要傳入配置文件中的變量值

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

server:
 port: ${PORT:50101} #服務(wù)端口

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

3)、項目名

完成,啟動

SpringBoot中如何實現(xiàn)動態(tài)配置配置文件的參數(shù)

在這里選擇剛剛搞好的設(shè)置的名字,然后點擊運行就會按照該設(shè)置中的參數(shù)來運行該項目了

關(guān)于SpringBoot中如何實現(xiàn)動態(tài)配置配置文件的參數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI