溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot之bootstrap和application的區(qū)別是什么

發(fā)布時(shí)間:2023-03-09 10:26:48 來源:億速云 閱讀:128 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“SpringBoot之bootstrap和application的區(qū)別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“SpringBoot之bootstrap和application的區(qū)別是什么”吧!

    bootstrap和application的區(qū)別說明

    bootstrap和application都是SpringBoot項(xiàng)目中的配置文件,他們的區(qū)別主要有以下的幾個(gè)方面

    (1)加載順序區(qū)別

    bootstrap配置文件是比application配置文件優(yōu)先加載的,因?yàn)閎ootstrap是由spring父上下文加載,而application是由子上下文加載

    (2)優(yōu)先級(jí)區(qū)別

    bootstrap加載的配置信息是不能被application的相同配置覆蓋的,如果兩個(gè)配置文件同時(shí)存在,也是以bootstrap為主

    (3)應(yīng)用場(chǎng)景區(qū)別 bootstrap常見應(yīng)用場(chǎng)景

    1.配置一些固定的,不能被覆蓋的屬性.用于一些系統(tǒng)級(jí)別的參數(shù)配置

    本地的配置文件是默認(rèn)不能覆蓋遠(yuǎn)程的配置的

    2.一些需要加密/解密的場(chǎng)景

    3.當(dāng)你使用了Spring Cloud Config配置中心時(shí),這時(shí)需要在boostrap配置文件中添加連接到配置中心的配置屬性來加載外部配置中心的配置信息,專業(yè)翻譯如下

    SpringBoot之bootstrap和application的區(qū)別是什么

    application常見應(yīng)用場(chǎng)景

    1.常用于SpringBoot項(xiàng)目的自動(dòng)化配置

    2.用于一些應(yīng)用級(jí)別的參數(shù)配置

    在大部分情況下不用區(qū)分這兩種情況,只需要使用application即可,效果基本是一致的

    SpringBoot配置優(yōu)先級(jí)(bootstrap和application)

    bootstrap和application的區(qū)別

    • bootstrap.yml 先于 application.yml。

    • bootstrap.yml 用于 ApplicationContext 引導(dǎo)階段。由父 Spring ApplicationContext 加載。定義系統(tǒng)級(jí)別的參數(shù)配置,這些參數(shù)一般不會(huì)變動(dòng)。

    • application.yml 用來定義應(yīng)用級(jí)別的參數(shù)配置。搭配 spring-cloud-config 使用時(shí) application.yml 定義的參數(shù)可以實(shí)現(xiàn)動(dòng)態(tài)替換。

    • application.yml 會(huì)覆蓋 bootstrap.yml 的參數(shù)配置。

    springboot的配置優(yōu)先級(jí)

    由里向外,外層覆蓋里層。

    命令行參數(shù) > 操作系統(tǒng)環(huán)境變量 > 應(yīng)用外的配置文件 > 應(yīng)用內(nèi)的配置文件

    加入springcloud配置中心后

    配置中心 > 命令行參數(shù) > 本地application.yml > 本地bootstrap.yml

    配置允許覆蓋:

    spring:
      cloud:
        config:
          allowOverride: true
          overrideNone: true
          overrideSystemProperties: false

    到此,相信大家對(duì)“SpringBoot之bootstrap和application的區(qū)別是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細(xì)節(jié)
    AI