<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Spring Boot 2.4版本前后的分組配置變化及對多環(huán)境配置結構的影響

          共 2791字,需瀏覽 6分鐘

           ·

          2020-12-22 11:24

          前幾天在《Spring Boot 2.4 對多環(huán)境配置的支持更改》一文中,給大家講解了Spring Boot 2.4版本對多環(huán)境配置的配置變化。除此之外,還有一些其他配置變化,所以今天我們就繼續(xù)講講其他的更新內容!

          spring.profiles.include對于這個配置項,你是否熟悉呢?從字面意思也不難理解,應該就是用來引入一些其他配置的配置(因為有個include嘛),實際作用也確實如此!

          當我們的應用有很多配置信息的時候,比如當用到了很多中間件MySQL、Redis、MQ等,每個中間件的配置都是一大串的,那么這個時候我們?yōu)榱伺渲酶啙嵰恍?,可能就會對其做分組。

          如果你有用過這樣的配置方式,那么在升級2.4版本的時候一定要注意,因為原來的配置方法會失效!

          2.4之前的分組配置

          先來看看2.4版本之前的分組配置,我們用下面這個例子來介紹:

          spring:
          ??profiles:
          ????active:?"dev"

          ---
          spring.profiles:?"dev"
          spring.profiles.include:?"dev-db,dev-mq"

          ---
          spring.profiles:?"dev-db"

          db:?dev-db.didispace.com

          ---
          spring.profiles:?"dev-mq"

          mq:?dev-mq.didispace.com

          其中:

          1. 第一個spring.profiles.active: dev,代表默認激活dev配置
          2. 第二段dev配置中使用了spring.profiles.include來引入其他配置信息,這里模擬一下一個是dev的db配置,一個是dev的mq配置。在2.3和之前版本的時候,我們通常就是這樣來分組配置不同中間件的。
          spring.profiles:?"dev"
          spring.profiles.include:?"dev-db,dev-mq"

          文末我們提供一個樣例工程,你可以通過修改spring boot版本到2.3和配置信息使用上面的樣例,來啟動應用看看這種配置效果。不出意外,你可以在啟動日志開頭,看到激活的配置信息如下:

          The?following?profiles?are?active:?dev,dev-db,dev-mq

          同時激活了dev、dev-db、dev-mq三組配置,include是生效的。

          2.4的分組配置

          在升級spring boot到2.4之后,再啟動之前的應用,你會發(fā)現(xiàn)配置就沒有生效了,這里不僅是因為spring.profiles失效的原因,即使我們將其都修改為spring.config.activate.on-profile,也依然無法激活dev-db和dev-mq的配置。因為在2.4版本之后,我們需要使用spring.profiles.group來配置了,同時組織結構也發(fā)生了變化。

          可以嘗試把配置修改成如下格式:

          spring:
          ??profiles:
          ????active:?"dev"
          ????group:
          ??????"dev":?"dev-db,dev-mq"
          ??????"prod":?"prod-db,prod-mq"

          ---
          spring:
          ??config:
          ????activate:
          ??????on-profile:?"dev-db"

          db:?dev-db.didispace.com

          ---
          spring:
          ??config:
          ????activate:
          ??????on-profile:?"dev-mq"

          mq:?dev-mq.didispace.com

          ---
          spring:
          ??config:
          ????activate:
          ??????on-profile:?"prod-db"

          db:?prod-db.didispace.com

          ---
          spring:
          ??config:
          ????activate:
          ??????on-profile:?"prod-mq"

          mq:?prod-mq.didispace.com

          啟動應用可以在日志開頭看到激活的配置組(默認激活的是dev,所以對應的就是dev-db和dev-mq):

          The?following?profiles?are?active:?dev,dev-db,dev-mq

          、修改spring.profiles.active: "prod"直接切換到另外一個環(huán)境。

          重啟應用可以在日志開頭看到激活的配置組:

          The?following?profiles?are?active:?prod,prod-db,prod-mq

          可以看到,在2.4版本的配置中,不同環(huán)境的配置定義都在第一段默認配置中了,所有的環(huán)境定義都轉移到了spring.profiles.group的key字段(上面配置了devprod),value字段則代表了每個環(huán)境需要加載的不同配置分組。

          回憶一下我們在《Spring Boot 2.4 對多環(huán)境配置的支持更改》中提到的多環(huán)境配置,是不是不同環(huán)境的配置標識都集中定義在了每個spring.config.activate.on-profile里。而這次分組的配置改變,讓激活配置、環(huán)境配置集中到了默認配置里,其他的profile定義是環(huán)境+配置分組的組合內容。

          對于這樣的調整,最直觀的感受就是選擇環(huán)境的時候,我不需要往下找有哪些profile就能知道有哪些可選項了,還是方便不少。那么你對這樣的配置調整怎么看呢?歡迎留言討論!

          代碼示例

          本文的相關例子可以查看下面?zhèn)}庫中的chapter1-3目錄:

          • Github:https://github.com/dyc87112/SpringBoot-Learning/
          • Gitee:https://gitee.com/didispace/SpringBoot-Learning/

          如果您覺得本文不錯,歡迎Star支持,您的關注是我堅持的動力!


          【往期推薦】

          左滑右滑,在VS Code里滑個妹紙給你寫喜歡的代碼?

          2020-12-18

          教你一分鐘內導出 Grafana 所有的 Dashboard

          2020-12-18

          注意!我們熟知的“摩爾定律”被廢了...

          2020-12-17

          Spring Boot 2.4 對多環(huán)境配置的支持更改

          2020-12-17

          首支完全由 AI 創(chuàng)作的歌曲《未來之歌》發(fā)布!對于未來,你方了嗎?

          2020-12-16



          掃一掃,關注我

          知曉前沿科技,領略技術魅力

          深度內容

          推薦加入


          歡迎加入知識星球,一起探討技術架構,交流技術人生。
          加入方式,長按下方二維碼:
          已在知識星球更新如下:

          素質二連,走一個

          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品综合久久久久久 | 国产美女啪啪视频 | 国产婬乱片A片AAA毛姪片 | 日本一级片色 | 在线a片视频 |