SpringBoot學習(四)

1、SpringBoot 激活多環境全局配置文件       

在實際的的開發中,對於一個工程,常常配置不少個Profile(配置文件),每一個Profile都對應一個完整的全局配置,例如開發環境(application-dev.properties)、測試環境(application-test.properties)、生產環境(application-prod.properties)等。在不一樣的環境下,配置有多是不同的。SpringBoot 提供能夠很方便地切換不一樣場景下的配置文件,激活哪一個,其對應的全局配置就生效。spring

 

一、properties 格式全局配置文件的作法:app

    默認必需要有 application.properties 文件,同時能夠多寫幾個配置文件,名字取爲 application-xxx.properties,ide

    而後不作激活配置,默認就使用application.properties,在application.properties作激活配置,激活哪一個,哪一個生效。測試

            配置端口號,經過 spring.profiles.active=xxx 來激活,運行程序主類,查看OKidea

           

二、YAML格式全局配置文件的作法spa

     1)YAML格式全局配置文件,在同一個application.yml全局配置文件進行多文檔塊方式配置 .net

     注意:有兩個以上沒定義文檔快名稱的,以最後一個文檔快做爲全局配置文件,因此文檔塊記得取名。命令行

  

       

    2)爲了更方便維護各類環境的配置,能夠將 yml文件拆分blog

       在src/main/resource目錄下,再建立yml配置文件(不須要定義文檔塊和命名spring.profiles屬性),開發

       文件命名規則爲application-{profiles}.yml,而後,在原來application.yml 作激活配置,激活哪一個,哪一個生效。

          

          

三、除了在上面默認全局配置文件裏激活Profile之外,還可用 IDEA命令方式激活,命令方式激活時會忽略配置文件的激活配置

     1)在idea中配置命令行參數

        任意選擇一種便可,優先級高於配置文件激活

        -Dspring.profiles.active=xxx

        --spring.profiles.active=xxx

        xxx

      

  

       

     2)將項目打成 jar 包後,在啓動 jar包命令後添加激活配置文件的命令參數

      優先級高於配置文件激活和IDEA激活

      

      

2、SpringBoot 配置文件目錄優先級

一、當前項目中配置文件

SpringBoot配置文件能夠放置在多種路徑下,不一樣路徑下的配置優先級有所不一樣。默認會掃描這幾個放置目錄的默認配置文件:

       當前項目的根目錄/config/                   # 最高優先級

       當前項目的根目錄/                              # 第二優先級

       類路徑(在resources目錄下)/config/     # 第三優先級

       類路徑(在resources目錄下)/                # 第四優先級

       若是這四個位置都有配置文件,那麼四個配置文件都會生效,只不過四個配置文件中的相同配置項,生效的是高優先級的配置文件裏的配置項。即:優先級由高到底,高優先級的配置會覆蓋低優先級的相同配置項並互補配置。

        

     配置端口號,運行程序主類,查看OK, 優先級:8081 --> 8082 --> 8083 --> 8084 .

 

二、外部配置文件

在項目已打包運行後,若須要修改配置文件時,能夠在jar包的外面,新建一個外部配置文件,

而後在運行jar包命令後添加激活外部配置文件的命令參數 (--spring.config.location=文件路徑),

那麼這個新的外部配置文件會覆蓋jar包中配置文件裏相同的配置項信息。即:外部配置文件優先級最高。

   將上面項目打包,新建一個外部配置文件,端口號爲 8079.

 

原文連接:https://blog.csdn.net/qq_42402854/article/details/9016804

相關文章
相關標籤/搜索