bootstrap.yaml和application.yaml的区别
bootstrap.yaml
配置一些引导系统启动的参数,这些参数一旦指定后就不会变动了。比如程序的端口号,配置中心的地址等。
application.yaml
应用级别的参数配置,可能会根据业务需求做动态配置。比如日志级别,一些开关参数等。
加载的顺序
加入我们使用到配置中的话,我们还会涉及到很多配置文件。那么这些配置文件的加载顺序是怎么样的呢?
这里我做了个实验,使用nacos做配置中心,一共涉及到下面几个配置文件:


nacos配置中心的相关配置如下:
spring:
profiles:
active: @profiles.active@
application:
name: payment-service-dubbo-nacos
main:
allow-bean-definition-overriding: true
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
# 配置注册在tpag这个用户专有的namespace
namespace: 6f97a206-ce19-44c2-85be-c601170d306e
group: ${spring.application.name}
username: tpag
password: tpag
refresh-enabled: true
# 这边的shared-config和ext-config不能配置namespace,和上面的配置共享一个namespace,所以一般用于读取一个团队内部的共享文件
extensionConfigs[0]:
data-id: ext1.yaml
refresh: true
# 默认是DEFAULT_GROUP
group: ${spring.application.name}
extensionConfigs[1]:
data-id: ext2.yaml
refresh: true
group: ${spring.application.name}
shared-configs[0]:
data-id: share1.yaml
refresh: true
group: ${spring.application.name}
shared-configs[1]:
data-id: share2.yaml
refresh: true
group: ${spring.application.name}
这几个配置文件加载的顺序是 bootstrap.yml > application.yml > application-dev.yml > share1.yaml > share2.yaml > ext1.yaml > ext2.yaml > cloud:nacos:config 标签下面dataId指定的配置文件。
假如配置文件中有相同的配置,后加载的配置会覆盖先加载的配置,所以如果使用Nacos配置中心的话,nacos上的配置的优先级会比较高。
bootstrap.yaml和application.yaml的区别的更多相关文章
- spring cloud config的bootstrap.yml与application.proterties的区别
bootstrap.yml 和application.yml 都可以用来配置参数 bootstrap.yml可以理解成系统级别的一些参数配置,这些参数一般是不会变动的 application.ym ...
- bootstrap.yml与application.yml的区别
说明:其实yml和properties文件是一样的原理,主要是说明application和bootstrap的加载顺序.且一个项目上要么yml或者properties,二选一的存在. Bootstra ...
- SpringBoot2配置文件application.yaml
源码基于SpringBoot 2.4.4 1.认识配置文件 1.1 配置文件的加载 创建SpringBoot项目的时候,会自动创建一个application.properties文件,该文件是Spri ...
- application.yaml配置文件
spring boot还支持yaml格式的配置文件.这种格式文件是JSON超集文件格式,其以数据为中心,扩展名可是是yml和yaml. yaml格式文件以key/value的格式配置属性,使用缩进控制 ...
- ruby YAML.load 和YAML.load_file区别
1. load( io ) Load a document from the current io stream. File.open( 'animals.yaml' ) { |yf| YAML::l ...
- Directory.GetCurrentDirectory和Application.StartupPath的区别
System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录.System.Windows.Forms.Application.StartupPa ...
- 【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别
原文:[C#遗补]获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPa ...
- C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
// 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...
- SpringCloud bootstrap.yml 和application.yml 加载原理
Spring Cloud 官方文档:https://cloud.spring.io/spring-cloud-static/spring-cloud.html 一个Spring Cloud的操作是通过 ...
随机推荐
- XCTF IgniteMe
一.查壳 结论: 1.用vc++编译的. 2.无壳,毕竟是一分的题 二.点击运行,发现不是爆破,而是找出注册机,汇编功力还在提升中,只能拖入ida来静态调试了 具体的见注释: 二.1点击进入关键函数 ...
- python 并行
网址:http://www.parallelpython.com/ 下载模块[根据使用环境选择相应的下载版本]下载pp-1.6.4.4 .zip,注意不要下载md5 解压缩上面下载的文件:pp-1.6 ...
- C语言:宏完美定义
#include <stdio.h> #define M (n*n+3*n) #define M1 n*n+3*n int main(){ int sum, n; printf(" ...
- 团队开发day10
项目整合成功,测试功能基本达到,目标完成!
- 打造一个window桌面应用:在线聊天对话机器人
大家好,我是辰哥~~~ 本文目标:打造一个window桌面应用:在线聊天对话机器人. 今天辰哥教大家做一个在线聊天对话机器人桌面应用,已经打包成exe可执行文件,读者可以直接拿来使用, 先上演示图 聊 ...
- 【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
在linux和windows下anaconda+pycharm+tensorflow+cuda的配置 在linux和windows下anaconda+pycharm+tensorflow+cuda的配 ...
- 微信小程序云开发-云存储的应用-识别银行卡
一.准备工作 1.创建云函数identify.自定义action=="2"的时候识别银行卡信息. 2.云函数identify中index.js代码 1 const cloud = ...
- centos7 源码安装指定版本的php7
很多时候可能会遇到需要手动源码安装软件的时候,所以自己实践了一把,并且把安装过程中遇到的问题,以及在网上找到的解决办法(实测有效)都记录下来,方便日后学习实践. 1. 系统环境 # cat /etc/ ...
- C# 连接MySQL数据库 ,查询条件中有中文时,查询不出结果
使用C#成功连接上MySql数据库后,但如果查询条件中有中文,查询结果就为空. String connetStr = "server=127.0.0.1;port=3306;user=roo ...
- Vulnhub -- DC2靶机渗透
信息收集 nmap开始扫描 只开了80端口,直接打开ip地址发现无法打开网页,但是进行了域名的跳转 !这里发现了一个问题,其实还开了一个7744端口,但是使用-sV的方式是扫描不出来的,使用-p-后可 ...