亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

環(huán)境:Springboot2.4.10


當(dāng)應(yīng)用程序啟動(dòng)時(shí),Spring Boot將自動(dòng)從以下位置查找并加載Application.properties和application.yaml文件:

  1. 從Classpath類(lèi)路徑classpath的根類(lèi)路徑classpath下的/config包
  2. 從當(dāng)前目錄當(dāng)前目錄當(dāng)前目錄中的/config子目錄/config子目錄的直接子目錄

列表按優(yōu)先級(jí)排序(較低項(xiàng)的值優(yōu)先于較早項(xiàng))。加載文件中的文檔作為PropertySources添加到Spring環(huán)境中。

上面的加載順序是倒著的。

  1. 修改加載的配置文件名稱(chēng)

默認(rèn)是加載的以application的配置文件,可以通過(guò)spring.config.name啟動(dòng)參數(shù)進(jìn)行修改:

JAVA -jar myproject.jar --spring.config.name=myproject
  1. 修改配置文件路徑

使用spring.config.location屬性顯式指定位置。此屬性接受以逗號(hào)分隔的列表,其中包含一個(gè)或多個(gè)要檢查的位置。

java -jar myproject.jar --spring.config.location=optional:classpath:/default.properties,optional:classpath:/override.properties

這里的optional前綴的意思是:

如果位置是可選的,并且您不介意它們是否不存在。簡(jiǎn)單說(shuō)就是這些路徑下的文件是可選的。

  1. 配置文件位置

如果spring.config.location包含目錄(與文件相反),則它們應(yīng)以/結(jié)尾。在運(yùn)行時(shí),它們將在加載之前附加從spring.config.name生成的名稱(chēng)。直接導(dǎo)入spring.config.location中指定的文件。

1.1 可選位置

默認(rèn)情況下,當(dāng)指定的配置數(shù)據(jù)位置不存在時(shí),Spring Boot將拋出
ConfigDataLocationNotFoundException,應(yīng)用程序?qū)⒉粫?huì)啟動(dòng)。

如果要指定一個(gè)位置,但不介意它是否總是存在,則可以使用optional:作為前綴 。你可以將此前綴與spring.config.location和
spring.config.additional-location屬性以及spring.config.import聲明一起使用。

例如,spring.config.import值
optional:file:./myconfig.properties允許啟動(dòng)應(yīng)用程序,即使myconfig.properties文件丟失。

如果要忽略所有
ConfigDataLocationNotFoundException并始終繼續(xù)啟動(dòng)應(yīng)用程序,可以使用
spring.config.on-not-found屬性。使用
SpringApplication.setDefaultProperties(...)或使用系統(tǒng)/環(huán)境變量。

1.2 通配符位置

如果配置文件位置包含最后一個(gè)路徑段的*字符,則將其視為通配符位置。在加載配置時(shí),通配符會(huì)展開(kāi),以便同時(shí)檢查直接子目錄。在Kubernetes這樣的環(huán)境中,當(dāng)存在多個(gè)配置屬性源時(shí),通配符位置特別有用。

例如,如果你有一些redis配置和一些MySQL配置,你可能希望將這兩個(gè)配置分開(kāi),同時(shí)要求它們都存在于application.properties文件中。這可能會(huì)導(dǎo)致兩個(gè)單獨(dú)的application.properties文件裝載在不同的位置,例如
/config/redis/application.properties和/config/mysql/application.properties。在這種情況下,如果通配符位置為config/*/,將導(dǎo)致處理這兩個(gè)文件。

默認(rèn)情況下,Spring Boot在默認(rèn)搜索位置包含config/*/。這意味著將搜索jar之外的/config目錄的所有子目錄。

您可以將通配符位置與spring.config.location和
spring.config.additional-location屬性一起使用。

1.3 特定配置文件

除了應(yīng)用程序?qū)傩晕募猓琒pring Boot還將嘗試使用命名約定應(yīng)用程序{profile}加載特定于概要文件的文件。例如,如果應(yīng)用程序激活名為prod的概要文件并使用YAML文件,則將同時(shí)考慮application.yml和application-prod.yml。

特定于配置文件的屬性從與標(biāo)準(zhǔn)application.properties相同的位置加載,特定于配置文件的文件始終覆蓋非特定文件。如果指定了多個(gè)配置文件,則應(yīng)用最后一個(gè)wins策略。例如,如果prod、live(即順序?yàn)椋簆rod, live)配置文件由spring.profiles.active屬性指定,則
application-prod.properties中的值可以被application-live.properties中的值覆蓋。

1.4 導(dǎo)入其它數(shù)據(jù)

應(yīng)用程序?qū)傩钥梢允褂胹pring.config.import屬性從其他位置導(dǎo)入更多配置數(shù)據(jù)。導(dǎo)入會(huì)在發(fā)現(xiàn)時(shí)進(jìn)行處理,并被視為插入聲明導(dǎo)入的文檔下方的附加文檔。

例如:

spring:
  config:
    import:
    - optional:classpath./config/cfg.yml  

這里的optional表示可選的,即導(dǎo)入的文件可以不存在;

看如下情況:

cfg.yml配置文件內(nèi)容

cfg:
  name: classpath:/config
spring:
  config:
    import:
    - optional:classpath:/config/cfg.yml
---  
cfg:
  name: a1    

這里的a1會(huì)覆蓋import中的值

cfg:
  name: a1
---  
spring:
  config:
    import:
    - optional:classpath:/config/cfg.yml   

這里cfg.yml配置的值會(huì)覆蓋a1值

可以在單個(gè)spring.config.import鍵下指定多個(gè)位置。位置將按照其定義的順序進(jìn)行處理,以后的導(dǎo)入將優(yōu)先。

注意:官方文檔說(shuō)上面的兩種順序配置,產(chǎn)生的是同樣的效果,但是我這測(cè)試的后面的會(huì)替換前面的。

1.5 導(dǎo)入無(wú)擴(kuò)展名文件

某些云平臺(tái)無(wú)法向卷裝載的文件添加文件擴(kuò)展名。要導(dǎo)入這些無(wú)擴(kuò)展文件,您需要給Spring Boot一個(gè)提示,以便它知道如何加載它們。可以通過(guò)將擴(kuò)展提示放在方括號(hào)中來(lái)實(shí)現(xiàn)這一點(diǎn)。

例如,假設(shè)你有一個(gè)/etc/config/myconfig文件,希望將其作為yaml導(dǎo)入。您可以使用以下命令從application.properties導(dǎo)入它:

spring:
  config:
    import: "file:/etc/config/myconfig[.yaml]"

完畢!!!

分享到:
標(biāo)簽:配置 Springboot
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定