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

application.yaml與bootstrap.yaml的使用

 更新時(shí)間:2024年08月23日 10:16:35   作者:Surfing鯊魚  
這篇文章主要介紹了application.yaml與bootstrap.yaml的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

application.yaml與bootstrap.yaml

你對(duì)這兩個(gè)文件有沒有清晰認(rèn)識(shí)?

application.yaml

  • 用途:主要用于應(yīng)用程序的主要配置,包括數(shù)據(jù)庫連接信息、端口號(hào)、日志級(jí)別、自定義屬性等應(yīng)用級(jí)別的設(shè)置。這是Spring Boot應(yīng)用中最常見的配置文件,幾乎所有自定義配置都會(huì)放在這里。
  • 加載時(shí)機(jī)application.yaml 在Spring應(yīng)用上下文初始化之后被加載,這意味著大部分Bean的創(chuàng)建和自動(dòng)配置都會(huì)考慮到這里的配置信息。
  • 覆蓋:可以通過命令行參數(shù)、環(huán)境變量、Java系統(tǒng)屬性等方式覆蓋application.yaml中的配置。

bootstrap.yaml

  • 用途:主要用于應(yīng)用程序的引導(dǎo)階段配置,特別是與Spring Cloud相關(guān)的配置,如配置中心(Config Server)的地址。它的內(nèi)容在應(yīng)用程序的上下文初始化之前被加載,適合配置那些需要在Spring應(yīng)用上下文啟動(dòng)之前就需要讀取的屬性,比如用來配置從何處加載主配置文件的地址。
  • 加載時(shí)機(jī)bootstrap.yaml 文件比application.yaml更早加載,它在應(yīng)用程序的引導(dǎo)階段就被處理,用于應(yīng)用程序上下文初始化之前的配置,比如配置中心的配置。
  • 用途示例:當(dāng)使用Spring Cloud Config Server來集中管理配置時(shí),你需要在bootstrap.yaml中配置Config Server的地址,這樣Spring Cloud會(huì)先從Config Server獲取配置信息,再初始化Spring Boot應(yīng)用。

這兩大段在講什么 不能簡(jiǎn)單講一下嗎?

知識(shí)儲(chǔ)備

  • Bean:實(shí)現(xiàn)控制反轉(zhuǎn)的一個(gè)java對(duì)象 加入到ioc容器當(dāng)中
  • Spring上下文:Bean管理 資源訪問 消息傳遞 生命周期管理 我就簡(jiǎn)單講一下第一個(gè)【第一個(gè)最好講】 Bean管理 : ApplicationContext 讀取配置元數(shù)據(jù)(xml文件 java配置 注解 )根據(jù)這些數(shù)據(jù)創(chuàng)建Bean 實(shí)現(xiàn)控制反轉(zhuǎn)

Spring上下文啟動(dòng):加載配置 -》 bean讀取 -》 bean的實(shí)例化 -》 bean的初始化 -》 啟動(dòng)后監(jiān)聽

容器初始化階段(加載配置階段) springboot 會(huì)讀取 application.yaml 文件

bootstrap.yaml 文件在加載配置階段前 就已經(jīng)讀取了

bootstrap.yaml 更早加載,主要用于引導(dǎo)配置,影響整個(gè)應(yīng)用的初始化;而 application.yaml 加載較晚,負(fù)責(zé)應(yīng)用的主體配置,靈活性和可覆蓋性更高。

我們來舉例

bootstrap配置文件在Spring Boot應(yīng)用的啟動(dòng)過程中比application配置文件具有更高的優(yōu)先級(jí)。

這意味著在應(yīng)用初始化的最早階段,Spring會(huì)先讀取bootstrap文件中的配置。

由于Nacos作為配置中心,負(fù)責(zé)提供應(yīng)用運(yùn)行時(shí)所需的配置信息,將其地址放在bootstrap中可以確保應(yīng)用在加載其他任何配置或初始化Bean之前就能建立起與Nacos的連接,從而能夠及時(shí)獲取到所有必需的配置。

server:
  port: 3000 # 前端默認(rèn)訪問端口號(hào)為3000
  servlet:
    context-path: / # 前端默認(rèn)訪問的根路徑
spring:
  application:
    name: gateway-service  # 程序名就是服務(wù)名
  cloud:
    nacos:      
        server-addr: 174.148.4.170:8848 #注冊(cè)中心

當(dāng)然還有其他原因:

  • 功能隔離bootstrap配置主要用于應(yīng)用程序的引導(dǎo)階段,它配置的內(nèi)容是用來引導(dǎo)Spring Boot應(yīng)用上下文的創(chuàng)建,比如配置中心的地址、安全證書、加密解密的密鑰等基礎(chǔ)設(shè)施級(jí)別的設(shè)置。而application配置則是關(guān)于應(yīng)用本身的業(yè)務(wù)邏輯和特性配置。將Nacos地址這樣的基礎(chǔ)設(shè)施配置與業(yè)務(wù)邏輯配置分離開來,有助于清晰地組織配置,同時(shí)也便于管理和維護(hù)。
  • 安全性與穩(wěn)定性:將與配置中心通信的敏感信息和基礎(chǔ)配置放在bootstrap中,可以減少這些關(guān)鍵信息被不當(dāng)覆蓋的風(fēng)險(xiǎn),因?yàn)?code>bootstrap的配置不容易被外部環(huán)境變量或其他配置源所覆蓋。這對(duì)于生產(chǎn)環(huán)境尤其重要,保證了系統(tǒng)的穩(wěn)定性和安全性。
  • 避免循環(huán)依賴:如果Nacos配置包含了應(yīng)用運(yùn)行所必需的參數(shù)(比如數(shù)據(jù)庫連接字符串),而這些參數(shù)又存儲(chǔ)在Nacos中,那么必須在應(yīng)用啟動(dòng)時(shí)就正確設(shè)置Nacos的地址以獲取這些參數(shù),避免因配置加載順序?qū)е碌臐撛谘h(huán)依賴問題

在來看一下3: 想象一下,你的Spring Boot應(yīng)用需要從Nacos獲取數(shù)據(jù)庫連接字符串等關(guān)鍵配置來初始化數(shù)據(jù)庫訪問組件(如DataSource)。然而,這些數(shù)據(jù)庫連接信息實(shí)際上是存儲(chǔ)在Nacos中的。

這就形成了一個(gè)邏輯上的依賴鏈:應(yīng)用啟動(dòng) -> 連接Nacos -> 獲取數(shù)據(jù)庫配置 -> 初始化數(shù)據(jù)庫連接。如果Nacos的地址或者連接Nacos所需的其他關(guān)鍵參數(shù)(如認(rèn)證信息)也打算通過Nacos來管理,那么就會(huì)出現(xiàn)問題,因?yàn)檫@時(shí)應(yīng)用在沒有Nacos配置的情況下無法知道如何連接到Nacos以獲取這些配置信息,形成了一種“雞生蛋,蛋生雞”的困境,即循環(huán)依賴。

總結(jié)

看到這你應(yīng)該清楚了 哪些應(yīng)該寫在bootstrap.yaml 哪些應(yīng)該寫在application.yaml 里面

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring計(jì)時(shí)器StopWatch的具體使用

    Spring計(jì)時(shí)器StopWatch的具體使用

    本文主要介紹了Spring計(jì)時(shí)器StopWatch的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 深入了解Java核心類庫--泛型類

    深入了解Java核心類庫--泛型類

    這篇文章主要為大家詳細(xì)介紹了java泛型類定義與使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-07-07
  • Java gRPC攔截器簡(jiǎn)單實(shí)現(xiàn)分布式日志鏈路追蹤器過程詳解

    Java gRPC攔截器簡(jiǎn)單實(shí)現(xiàn)分布式日志鏈路追蹤器過程詳解

    有請(qǐng)求的發(fā)送、處理,當(dāng)然就會(huì)有攔截器的需求,例如在服務(wù)端通過攔截器統(tǒng)一進(jìn)行請(qǐng)求認(rèn)證等操作,這些就需要攔截器來完成,今天松哥先和小伙伴們來聊一聊gRPC中攔截器的基本用法,后面我再整一篇文章和小伙伴們做一個(gè)基于攔截器實(shí)現(xiàn)的JWT認(rèn)證的gRPC
    2023-03-03
  • springboot @RequiredArgsConstructor的概念與使用方式

    springboot @RequiredArgsConstructor的概念與使用方式

    這篇文章主要介紹了springboot @RequiredArgsConstructor的概念與使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • IDEA生成javadoc的實(shí)現(xiàn)步驟

    IDEA生成javadoc的實(shí)現(xiàn)步驟

    Javadoc是一種用于生成API文檔的工具,它可以根據(jù)代碼中特定格式的注釋自動(dòng)生成文檔,本文主要介紹了IDEA生成javadoc的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2023-10-10
  • mybatis 根據(jù)id批量刪除的實(shí)現(xiàn)操作

    mybatis 根據(jù)id批量刪除的實(shí)現(xiàn)操作

    這篇文章主要介紹了mybatis 根據(jù)id批量刪除的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java之ThreadPoolExecutor類詳解

    Java之ThreadPoolExecutor類詳解

    這篇文章主要介紹了Java之ThreadPoolExecutor類詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 解決weblogic部署springboot項(xiàng)目步驟及可能會(huì)出現(xiàn)的問題

    解決weblogic部署springboot項(xiàng)目步驟及可能會(huì)出現(xiàn)的問題

    這篇文章主要介紹了解決weblogic部署springboot項(xiàng)目步驟及可能會(huì)出現(xiàn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • IDEA中Maven依賴包無法下載或?qū)氲慕鉀Q方案(系統(tǒng)缺失文件導(dǎo)致)

    IDEA中Maven依賴包無法下載或?qū)氲慕鉀Q方案(系統(tǒng)缺失文件導(dǎo)致)

    在配置Maven環(huán)境時(shí),可能會(huì)遇到各種報(bào)錯(cuò)問題,首先確保Maven路徑配置正確,例如使用apache-maven-3.5.0版本,則需要在系統(tǒng)環(huán)境變量的Path中添加其bin目錄路徑,并上移優(yōu)先級(jí),接下來,在Maven的conf目錄下修改settings.xml文件,將鏡像源改為阿里云
    2024-09-09
  • Spring Validation中9個(gè)數(shù)據(jù)校驗(yàn)工具使用指南

    Spring Validation中9個(gè)數(shù)據(jù)校驗(yàn)工具使用指南

    Spring Validation作為Spring生態(tài)系統(tǒng)的重要組成部分,提供了一套強(qiáng)大而靈活的數(shù)據(jù)校驗(yàn)機(jī)制,本文給大家介紹了Spring Validation中9個(gè)數(shù)據(jù)校驗(yàn)工具的使用指南,需要的朋友可以參考下
    2025-05-05

最新評(píng)論

民县| 大埔区| 云南省| 临高县| 察雅县| 曲沃县| 太湖县| 阿坝| 朝阳市| 平罗县| 洱源县| 阿克陶县| 岐山县| 丽水市| 揭西县| 咸丰县| 乐至县| 额尔古纳市| 泰宁县| 吉水县| 宝山区| 辽宁省| 盐源县| 河南省| 北碚区| 华池县| 城步| 九台市| 神木县| 土默特右旗| 扬州市| 偃师市| 金山区| 新乡市| 太仆寺旗| 和林格尔县| 博兴县| 楚雄市| 灵石县| 于田县| 金溪县|