最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot詳細(xì)講解多個(gè)配置文件的配置流程

 更新時(shí)間:2022年06月08日 10:40:37   作者:索碼理  
SpringBoot項(xiàng)目是一個(gè)標(biāo)準(zhǔn)的Maven項(xiàng)目,它的配置文件需要放在src/main/resources/下,其文件名必須為application,其存在兩種文件形式,分別是properties和yaml(或者yml)文件

一般情況下,springboot默認(rèn)會(huì)在resource目錄下生成一個(gè)配置文件(application.properties或application.yaml),但其實(shí)springboot允許配置多個(gè)配置文件(application.properties或application.yaml),但是這并不意味著這些配置文件一定會(huì)替換默認(rèn)生成的配置文件,它們是互補(bǔ)的存在。如果在某些場(chǎng)景下需要把配置文件單獨(dú)拿出來并且啟動(dòng)的時(shí)候加載進(jìn)去,那么外部的配置文件將是一個(gè)很好的選擇。

配置文件加載順序

需要注意的是配置文件加載順序加載順序在springboot 2.4.0前后是不一樣的。

springboot 2.4.0及其之前版本的配置文件加載順序

file:./config/
file:./config/*/
file:./
classpath:config/
classpath:

springboot 2.4.0之后版本的配置文件加載順序

file:./config/*/
file:./config/
file:./
classpath:config/
classpath:

區(qū)別在于springboot 2.4.0之后的版本將file:./config/*/的在順序調(diào)整為第一加載順序。

file是指當(dāng)前jar包所在路徑。

classpath是指springboot resource文件夾下路徑。

驗(yàn)證

前期準(zhǔn)備

新建一個(gè)springboot項(xiàng)目

啟動(dòng)類如下:

@SpringBootApplication
public class MqApplication {
	public static void main(String[] args) {
		ConfigurableApplicationContext applicationContext = SpringApplication.run(MqApplication.class, args);
		ConfigurableEnvironment environment = applicationContext.getEnvironment();
		String property = environment.getProperty("spring.application.name");
		System.out.println("current spring.application.name="+property);
	}
}

配置文件:

spring.application.name=classpath
server.port=8080

為了驗(yàn)證 springboot 2.4.0之前和之后的版本加載順序的不一樣,會(huì)使用兩個(gè)版本對(duì)比。

對(duì)比版本:springboot 2.4.3 和 springboot 2.3.5.RELEASE

下面是不同路徑下配置不同端口和應(yīng)用名以便驗(yàn)證。

路徑端口號(hào)application.name
file:./config/*/8084file:./config/*/
file:./config/8083file:./config/
file:./8082file:./
classpath:config/8081classpath:config/
classpath:8080classpath:

驗(yàn)證配置文件加載順序

根據(jù)上述表格,將配置文件分別復(fù)制到不同的路徑下創(chuàng)建配置文件并按表格修改spring.application.name和server.port屬性值。

啟動(dòng)項(xiàng)目,下面是兩個(gè)版本的啟動(dòng)信息:

從兩張圖中可以得出結(jié)論:

  • springboot 2.4.0前后配置文件加載順序不一樣
  • 高優(yōu)先級(jí)的會(huì)覆蓋掉低優(yōu)先級(jí)相同的屬性

驗(yàn)證屬性互補(bǔ)

修改配置文件:

classpath:配置文件

刪除spring.application.name屬性,增加server.error.path屬性

server.port=8080
server.error.path=/test

file:./配置文件

新增server.servlet.context-path屬性

spring.application.name=file:.
server.port=8082
server.servlet.context-path=file_context

file:./config/*/配置文件

保持不變

server.port=8084
spring.application.name=file:./config/*/

修改啟動(dòng)類main方法在控制臺(tái)打印server.error.path

public static void main(String[] args) {
		ConfigurableApplicationContext applicationContext = SpringApplication.run(MqApplication.class, args);
		ConfigurableEnvironment environment = applicationContext.getEnvironment();
		String property = environment.getProperty("spring.application.name");
		System.out.println("current spring.application.name="+property);
		String errorPath = environment.getProperty("server.error.path");
		System.out.println("errorPath="+errorPath);
	}

啟動(dòng)項(xiàng)目

從上面截圖中可以發(fā)現(xiàn)三個(gè)配置文件中的所有屬性都被加載出來了,而且優(yōu)先級(jí)高的配置文件中的屬性會(huì)覆蓋優(yōu)先級(jí)低的配置文件中的屬性。

總結(jié)

springboot中可以配置多個(gè)配置文件,并且這些配置文件是可以共存的。當(dāng)屬性相同時(shí),優(yōu)先級(jí)高的配置文件會(huì)覆蓋優(yōu)先級(jí)低的配置文件中的屬性;當(dāng)屬性不同時(shí),最終的配置會(huì)取各個(gè)配置文件中屬性的并集。

到此這篇關(guān)于SpringBoot詳細(xì)講解多個(gè)配置文件的配置流程的文章就介紹到這了,更多相關(guān)SpringBoot配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MybatisPlus多表連接查詢的問題及解決方案

    MybatisPlus多表連接查詢的問題及解決方案

    MybatisPlus官方并沒有提供多表連接查詢的通用解決方案,然而連接查詢是相當(dāng)普遍的需求,今天通過本文給大家介紹下MybatisPlus多表連接查詢的問題及解決方案,感興趣的朋友一起看看吧
    2022-01-01
  • springboot項(xiàng)目配置logback日志系統(tǒng)的實(shí)現(xiàn)

    springboot項(xiàng)目配置logback日志系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了springboot項(xiàng)目配置logback日志系統(tǒng)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 如何實(shí)現(xiàn)java Iterator迭代器功能

    如何實(shí)現(xiàn)java Iterator迭代器功能

    這篇文章主要介紹了如何實(shí)現(xiàn)java Iterator迭代器功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組

    Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組

    這篇文章主要介紹了Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java使用WeakHashMap實(shí)現(xiàn)緩存自動(dòng)清理

    Java使用WeakHashMap實(shí)現(xiàn)緩存自動(dòng)清理

    在 Java 中,內(nèi)存管理是一個(gè)重要的話題,尤其是在涉及到緩存的實(shí)現(xiàn)時(shí),如果緩存項(xiàng)不再被使用,我們希望它們能被自動(dòng)清理,而不必手動(dòng)刪除,WeakHashMap 就是 Java 提供的一種用于緩存和內(nèi)存管理的工具,本文將深入探討如何利用 WeakHashMap 來實(shí)現(xiàn)緩存自動(dòng)清理
    2025-01-01
  • java網(wǎng)絡(luò)編程之識(shí)別示例 獲取主機(jī)網(wǎng)絡(luò)接口列表

    java網(wǎng)絡(luò)編程之識(shí)別示例 獲取主機(jī)網(wǎng)絡(luò)接口列表

    一個(gè)客戶端想要發(fā)起一次通信,先決條件就是需要知道運(yùn)行著服務(wù)器端程序的主機(jī)的IP地址是多少。然后我們才能夠通過這個(gè)地址向服務(wù)器發(fā)送信息。
    2014-01-01
  • Java連接服務(wù)器的兩種方式SFTP和FTP

    Java連接服務(wù)器的兩種方式SFTP和FTP

    在項(xiàng)目開發(fā)中,一般文件存儲(chǔ)很少再使用SFTP服務(wù),但是也不排除合作伙伴使用SFTP來存儲(chǔ)項(xiàng)目中的文件或者通過SFTP來實(shí)現(xiàn)文件數(shù)據(jù)的交互,這篇文章主要介紹了Java集成FTP與SFTP連接池
    2023-02-02
  • Java實(shí)現(xiàn)跳轉(zhuǎn)到指定頁面的方法小結(jié)

    Java實(shí)現(xiàn)跳轉(zhuǎn)到指定頁面的方法小結(jié)

    在Java中,實(shí)現(xiàn)頁面跳轉(zhuǎn)主要涉及到Web開發(fā),而這通常通過使用Java的Web框架(如Servlet、Spring MVC)來完成,下面講解一下如何在不同的Java Web框架中實(shí)現(xiàn)頁面跳轉(zhuǎn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-05-05
  • Redisson分布式閉鎖RCountDownLatch的使用詳細(xì)講解

    Redisson分布式閉鎖RCountDownLatch的使用詳細(xì)講解

    分布式鎖和我們java基礎(chǔ)中學(xué)習(xí)到的synchronized略有不同,synchronized中我們的鎖是個(gè)對(duì)象,當(dāng)前系統(tǒng)部署在不同的服務(wù)實(shí)例上,單純使用synchronized或者lock已經(jīng)無法滿足對(duì)庫存一致性的判斷。本次主要講解基于rediss實(shí)現(xiàn)的分布式鎖
    2023-02-02
  • 不知道面試會(huì)不會(huì)問Lambda怎么用(推薦)

    不知道面試會(huì)不會(huì)問Lambda怎么用(推薦)

    這篇文章主要介紹了Lambda表達(dá)式用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

察雅县| 宁夏| 乌兰察布市| 逊克县| 祁阳县| 车险| 阜城县| 中宁县| 海口市| 江山市| 夏河县| 姜堰市| 乐昌市| 平定县| 尚志市| 翁源县| 屏南县| 永仁县| 大港区| 商都县| 抚顺市| 平和县| 普兰店市| 达拉特旗| 阿拉尔市| 文成县| 北海市| 福贡县| 永福县| 长武县| 金寨县| 尚志市| 蕲春县| 凤阳县| 宽甸| 三河市| 疏勒县| 工布江达县| 九江市| 天柱县| 黄浦区|