application.yml和bootstrap.yml

news2024/10/5 12:17:24

参考文章 https://blog.csdn.net/Mrxiao_bo/article/details/134459827?fromshare=blogdetail&sharetype=blogdetail&sharerId=134459827&sharerefer=PC&sharesource=qq_46023827&sharefrom=from_link

在Java的Spring Boot和Spring Cloud应用中,application.yml和bootstrap.yml是两个重要的配置文件,它们各自承担着不同的配置职责。
application.yml

作用:application.yml文件主要用于配置应用程序级别的参数,这些参数通常是应用程序特有的,用于定义后续各个模块中需使用的公共参数等。它提供了简便的方式来配置Spring Boot应用程序的各种组件,如数据源、数据库、缓存、邮件服务等。

特点:
    支持YAML格式,这是一种直观的数据序列化格式,支持列表、映射、字符串、整数、浮点数等数据结构。
    允许配置应用程序的各种属性,如服务器端口、数据库连接、缓存策略等。
    支持不同环境的配置,可以为开发环境、测试环境和生产环境创建不同的配置文件。
    当与Spring Cloud Config结合使用时,application.yml里面定义的文件可以实现动态替换。

bootstrap.yml

作用:bootstrap.yml文件主要用于应用程序上下文的引导阶段,加载应用程序上下文之前的外部配置文件。这些配置通常在应用程序启动的早期阶段就需要用到,如连接到Spring Cloud Config Server的配置、加密/解密信息、连接到外部数据库的配置等。

特点:
    加载顺序优先于application.yml,这意味着bootstrap.yml中的配置将首先被加载。
    用于定义系统级别的参数配置,这些参数通常是固定或较少变动的,如数据库连接、消息队列连接等。
    与Spring Cloud Config结合使用时,bootstrap.yml中配置的信息(如Config Server的地址)可以帮助应用程序从Config Server加载动态的配置信息,实现配置的外部化和集中管理。
    一旦bootstrap.yml被加载,其内容通常不会被覆盖,具有较高的优先级。

加载顺序与覆盖规则

在同一目录下,bootstrap.yml先加载,application.yml后加载。
如果application.yml与bootstrap.yml存在相同的配置项,bootstrap.yml中定义的属性将优先生效。但是,application.yml里面的内容可以动态替换(在Spring Cloud Config等场景下)。

典型应用场景

当使用Spring Cloud Config Server(或Spring Cloud Alibaba Nacos)配置中心时,通常需要将spring.application.name和配置中心相关的URI(如spring.cloud.config.server.git.uri或spring.cloud.nacos.config)配置在bootstrap.yml中,以便在应用程序启动时首先加载这些配置,从而连接到外部的配置中心并加载动态的配置信息。

综上所述,application.yml和bootstrap.yml在Java的Spring Boot和Spring Cloud应用中各自扮演着重要的角色,它们共同协作以确保应用程序能够正确、高效地启动和运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2189849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python案例--三数排序

一、引言 在信息爆炸的时代,我们每天都会接触到大量的数据。无论是工作中的报表、学习中的数据集,还是日常生活中的购物清单,数据的有序性对于提高效率和决策质量都至关重要。排序算法作为数据处理的基础工具,其重要性不言而喻。…

日记学习小迪安全27

感觉复制粘贴没有意思,而且还有点浪费时间,主要是学习,不是复制,那就复制别人的吧 第27关就参考这篇文章吧,以下大部分内容都是参考以下文章(侵权删除) 第27天:WEB攻防-通用漏洞&a…

芯片录-低压差线性稳压器AZ1084D-ADJE1失效记录与原理分析

背景 最近主板坏了,现象是主机不停重启,USB设备LED灯一会儿亮,一会儿灭。经过一些分析和定位,通过测温发现主板上AZ1084D-ADJE1芯片高达91摄氏度,进一步测量该芯片的输出引脚和接地引脚短路,初步推测某些原…

Shell-使用函数

在 Shell 脚本中,函数是由一段代码定义的,可以被重复调用。Shell 函数的定义和调用相对简单,并且它支持参数传递和返回值。错误处理在 Shell 中也非常重要,通常通过检查返回的状态码来判断是否有错误发生。 1.Shell 函数的定义和…

构建高效招聘流程:Spring Boot大学生就业系统

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

28 基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,通过ADC0808获取两路电压,通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码,PROTEUS8.15进行仿真,全部资源在页尾,提供…

【中间件学习】Git的命令和企业级开发

一、Git命令 1.1 创建Git本地仓库 仓库是进行版本控制的一个文件目录。我们要想对文件进行版本控制,就必须创建出一个仓库出来。创建一个Git本地仓库对应的命令是 git init ,注意命令要在文件目录下执行。 hrxlavm-1lzqn7w2w6:~/gitcode$ pwd /home/hr…

Yocto - 使用Yocto开发嵌入式Linux系统_06 掌握Bitbake工具

Grasping the BitBake Tool 在上一章中,我们了解了元数据、元数据集合概念以及 conf/layer.conf 的重要性。在本章中,我们将更深入地研究元数据,了解配方如何相互依赖,并了解 BitBake 如何处理依赖关系。 In the previous chapter…

Python机器视觉:01- 利用列表和切片操作 - 做一个弧线和图片相交的mask区域

前言: Python的列表处理,在机器视觉中经常被用到,这里结合基本的概念机器视觉实践案例,成文如下: 本身将实现一个,弧线的mask填充:这个mask是我的一个天文项目的应用,目的在于将月…

冥想第一千三百零一天(1301)

1.今天上午溪溪和小侄子写作业,我带着桐桐去了惠济区的裕华广场永辉,给家人买了好吃的,下午4点半左右去了妈妈朋友家里摘石榴。 2.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。

JavaWeb 14.详解TCP协议的三次握手和四次挥手

目录 一、TCP协议与UDP协议 二、TCP协议 1、建立连接(三次握手) 过程 2、断开连接(四次挥手) 过程 国庆节快乐! 一文详解TCP协议中的三次握手建立连接和四次挥手断开连接 —— 24.10.3 一、TCP协议与UDP协议 tcp协议与…

【可答疑】基于51单片机的智能台灯(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

MATLAB中minres函数用法

目录 语法 说明 示例 线性系统的迭代解 使用指定了预条件子的 minres 提供初始估计值 使用函数句柄代替数值矩阵 minres函数的功能是求解线性系统 - 最小残差法。 语法 x minres(A,b) x minres(A,b,tol) x minres(A,b,tol,maxit) x minres(A,b,tol,maxit,M) x mi…

CPU性能篇-平均负载-Day 01

1. 平均负载 1.1 什么是平均负载 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。 1.1.1 什么是可运行状态 指正在使用 CPU 或者正在等待 CPU 的进程&#xff…

如何轻松查看你的 Windows 版本? 检查电脑Windows版本号五种方法

很多朋友发现windows拥有许多版本,比如如家庭版、企业版、专业版和教育版等,而每个版本都有相应的版本号,那么,怎么知道电脑windows版本呢?下面分享五种查看方法 自 1985 年首次推出以来,Windows 操作系统…

IntelliJ IDEA 2024.2 新特性概览

文章目录 1、重点特性:1.1 改进的 Spring Data JPA 支持1.2 改进的 cron 表达式支持1.3 使用 GraalJS 作为 HTTP 客户端的执行引擎1.4 更快的编码时间1.5 K2 模式下的 Kotlin 性能和稳定性改进 2、用户体验2.1 改进的全行代码补全2.2 新 UI 成为所有用户的默认界面2.3 Search E…

利用CRITIC客观权重赋权法进行数值评分计算——算法过程

1、概述 ‌CRITIC客观评价法是一种基于指标的对比强度和指标之间的冲突性来确定指标客观权数的方法。‌ 该方法适用于判断数据稳定性,并且适合分析指标或因素之间有着一定的关联的数据‌。 CRITIC方法的基本原理包括两个主要概念:对比强度和指标之间的…

Linux学习笔记(六):服务管理,监控,RPM包管理,yum包管理工具,Linux启动管理,网络管理

Linux学习笔记(六):服务管理,监控,RPM包管理,yum包管理工具,Linux启动管理,网络管理 1. 服务管理 1.1 service 启动/停止服务 service 命令是最常用的服务管理工具之一&#xff0c…

介质的分类

在有损的麦克斯韦方程中等效介电常数如下 所以理想介质的介电常数接近于实数,导体介电常数接近于复数 介质分类中不规定εμσ是实数还是复数,带入这个麦克斯韦方程组就行。不过在有损介质的电磁波公式推导中老师做出εμσ是实数的假设

【微服务】负载均衡 - LoadBalancer(day4)

下述所有代码都是在订单服务中修改的,商品服务并不需要修改,只需要启动多个实例即可。 引入 在介绍Eureka组件的最后,留下了一个问题就是,无论启动多少个实例,只能调用第一个。原因是因为服务调用时获取的是一个实例…