欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot導(dǎo)入多個(gè)配置文件的方法實(shí)踐

 更新時(shí)間:2024年11月11日 10:05:06   作者:xixingzhe2  
Spring Boot 2.4.x引入了新的配置導(dǎo)入方式,通過(guò)spring.config.import屬性可以靈活地導(dǎo)入多種類型的配置文件,本文就來(lái)介紹一下,感興趣的可以了解一下

1、簡(jiǎn)介

Spring Boot從2.4.x版本開始支持了導(dǎo)入文件的方式來(lái)加載配置參數(shù),與spring.config.additional-location不同的是不用提前設(shè)置而且支持導(dǎo)入的文件類型相對(duì)來(lái)說(shuō)要豐富很多。

我們只需要在application.properties/application.yml配置文件中通過(guò)spring.config.import屬性配置需要導(dǎo)入的文件列表即可。

通過(guò)spring.config.import屬性支持導(dǎo)入多種途徑的配置文件,下面簡(jiǎn)單介紹幾種。

2、導(dǎo)入方式

classpath

使用classpath:前綴來(lái)指定位于類路徑(classpath)中的配置文件。這通常用于引用項(xiàng)目?jī)?nèi)部的資源,如src/main/resources目錄下的文件。

spring:
  config:
    import: classpath:custom-config.yml

file

使用file:前綴來(lái)指定文件系統(tǒng)中的配置文件。這允許你引用位于項(xiàng)目外部的配置文件。

spring:
  config:
    import: file:/path/to/external-config.yml

optional

使用optional:前綴可以指定一個(gè)配置文件,如果該文件不存在,不會(huì)拋出錯(cuò)誤,應(yīng)用程序會(huì)繼續(xù)啟動(dòng)。這在引用可選配置時(shí)非常有用。

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

nacos

如果你使用Nacos作為配置中心,可以使用nacos:前綴來(lái)導(dǎo)入Nacos中的配置文件。

spring:
  cloud:
    nacos:
      config:
        import: nacos:data-id:group-id

通配符導(dǎo)入

你可以使用通配符(如*)來(lái)導(dǎo)入一個(gè)目錄下的所有配置文件。這在有多個(gè)配置文件需要被一起加載時(shí)非常有用。

spring:
  config:
    import: classpath:config-templates/*.yml

無(wú)擴(kuò)展名文件

如果你需要導(dǎo)入沒有擴(kuò)展名的文件,可以在文件名后添加方括號(hào),例如classpath:additional-application[.yml]

spring:
  config:
    import: classpath:additional-application[.yml]

目錄導(dǎo)入

你可以導(dǎo)入整個(gè)目錄下的配置文件,Spring Boot會(huì)自動(dòng)加載目錄下的所有.properties.yml文件。

spring:
  config:
    import: classpath:config-import-dir/

特定環(huán)境配置文件

雖然不是spring.config.import的直接選項(xiàng),但你可以創(chuàng)建特定于環(huán)境的配置文件(如application-dev.yml),并通過(guò)激活相應(yīng)的profile來(lái)加載它們。

java -jar myapp.jar --spring.profiles.active=dev

命令行參數(shù)

雖然不是在application.ymlapplication.properties中設(shè)置,但你可以在啟動(dòng)應(yīng)用程序時(shí)通過(guò)命令行參數(shù)來(lái)導(dǎo)入配置文件。

java -jar myapp.jar --spring.config.import=classpath:another-config.yml

這些選項(xiàng)提供了靈活的方式來(lái)組織和管理你的配置文件,使得你可以根據(jù)不同的環(huán)境和需求來(lái)調(diào)整應(yīng)用程序的配置。

3、示例代碼

application.yml

server:
  port: 8080
spring:
  application:
    name: spring-config-multiple-demo
  config:
    import:
      - classpath:application-test.yml
      - classpath:application-learn.yml
      - classpath:application-user-list.yml

application-learn.yml

learn:
  cond:
    enabled: false

application-test.yml

test:
  app:
    id: 123
    name: "張三"

application-user-list.yml

com:
  user:
    user-list:
      - name: "張三"
        id: 1
      - name: "李四"
        id: 2
    person-list:
      - name: "王五"
        id: 3
      - name: "趙六"
        id: 4

到此這篇關(guān)于springboot導(dǎo)入多個(gè)配置文件的方法實(shí)踐的文章就介紹到這了,更多相關(guān)springboot導(dǎo)入多配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • java web開發(fā)之購(gòu)物車功能實(shí)現(xiàn)示例代碼

    java web開發(fā)之購(gòu)物車功能實(shí)現(xiàn)示例代碼

    這篇文章主要介紹了java web開發(fā)之購(gòu)物車功能實(shí)現(xiàn)示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • springboot跨域訪問(wèn)cros與@CrossOrigin注解詳析

    springboot跨域訪問(wèn)cros與@CrossOrigin注解詳析

    這篇文章主要給大家介紹了關(guān)于springboot跨域訪問(wèn)cros與@CrossOrigin注解的相關(guān)資料,跨域是指不同域名之間相互訪問(wèn),它是瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript施加的安全限制,需要的朋友可以參考下
    2023-12-12
  • Java集合基礎(chǔ)知識(shí) List/Set/Map詳解

    Java集合基礎(chǔ)知識(shí) List/Set/Map詳解

    這篇文章主要介紹了Java集合基礎(chǔ)知識(shí) List/Set/Map,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種)

    SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種)

    這篇文章主要介紹了SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    LogFactory來(lái)自common-logging包。如果用LogFactory.getLog,你可以用任何實(shí)現(xiàn)了通用日志接口的日志記錄器替換log4j,而程序不受影響
    2013-09-09
  • 如何利用Map與函數(shù)式接口來(lái)實(shí)現(xiàn)去除if else

    如何利用Map與函數(shù)式接口來(lái)實(shí)現(xiàn)去除if else

    這篇文章主要介紹了如何利用Map與函數(shù)式接口來(lái)實(shí)現(xiàn)去除if else問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Mybatis打印SQL語(yǔ)句的幾種常用方式

    Mybatis打印SQL語(yǔ)句的幾種常用方式

    當(dāng)我們動(dòng)態(tài)sql拼接的塊很多的時(shí)候,我們要想從*mapper.xml中直接找出完整的sql就會(huì)非常的難,這個(gè)時(shí)候經(jīng)常會(huì)需要把組合之后的完整SQL語(yǔ)句打印出來(lái),對(duì)調(diào)試非常有幫助的,所以本文小編給大家介紹了幾種Mybatis打印SQL語(yǔ)句的常用方式,需要的朋友可以參考下
    2023-11-11
  • Java 獲取服務(wù)器環(huán)境的實(shí)例詳解

    Java 獲取服務(wù)器環(huán)境的實(shí)例詳解

    這篇文章主要介紹了Java 獲取服務(wù)器環(huán)境的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例和輸出結(jié)果,希望能幫助大家理解,需要的朋友可以參考下
    2017-07-07
  • 在Java中動(dòng)態(tài)執(zhí)行字符串代碼的方法小結(jié)

    在Java中動(dòng)態(tài)執(zhí)行字符串代碼的方法小結(jié)

    在Java編程中,靜態(tài)編譯的特性通常不允許我們直接執(zhí)行運(yùn)行時(shí)生成的代碼,然而,有時(shí)我們需要?jiǎng)討B(tài)地生成并執(zhí)行代碼片段,本文將詳細(xì)介紹如何在Java中運(yùn)行一段字符串代碼,并提供詳細(xì)的代碼案例和運(yùn)行結(jié)果,需要的朋友可以參考下
    2024-08-08
  • Spring中SmartLifecycle的用法解讀

    Spring中SmartLifecycle的用法解讀

    這篇文章主要介紹了Spring中SmartLifecycle的用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論