Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件,yml 和 properties 文件都属于配置文件,功能一样。

Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap,另外一种是 application,下面列举这两种配置文件的区别

加载顺序

若application.yml 和bootstrap.yml 在同一目录下:bootstrap.yml 先加载 application.yml后加载

bootstrap.yml 用于应用程序上下文的引导阶段。bootstrap.yml 由父Spring ApplicationContext加载。

配置区别

bootstrap.yml 和 application.yml 都可以用来配置参数。

bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一旦bootStrap.yml 被加载,则内容不会被覆盖。

application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。

属性覆盖问题

启动上下文时,Spring Cloud 会创建一个 Bootstrap Context,作为 Spring 应用的 Application Context 的父上下文。

初始化的时候,Bootstrap Context 负责从外部源加载配置属性并解析配置。这两个上下文共享一个从外部获取的 Environment。Bootstrap 属性有高优先级,默认情况下,它们不会被本地配置覆盖

也就是说如果加载的 application.yml 的内容标签与 bootstrap 的标签一致,application 也不会覆盖 bootstrap,而 application.yml 里面的内容可以动态替换。

bootstrap.yml典型的应用场景

  • 当使用 Spring Cloud Config Server 配置中心时,这时需要在 bootstrap.yml 配置文件中指定 spring.application.name 和 spring.cloud.config.server.git.uri,添加连接到配置中心的配置属性来加载外部配置中心的配置信息
  • 一些固定的不能被覆盖的属性
  • 一些加密/解密的场景

application.yml与bootstrap.yml的区别相关推荐

  1. spring cloud 配置文件application.yml和bootstrap.yml 的定位,区别和联系

    最近在启用springcloud配置中心server的东西,在整理属性资源的时候,突然发现:用了这么久的springboot,为什么会配置两个属性文件同时存在(application.yml/prop ...

  2. idea cloud bootstrap是啥_application.yml与bootstrap.yml的区别

    Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件,yml 和 properties 文件都属于配置文件,功能 ...

  3. spring yml 配置事务_application.yml与bootstrap.yml的区别

    Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件,yml 和 properties 文件都属于配置文件,功能 ...

  4. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序

    说在前面 SpringBoot默认支持properties和YAML两种格式的配置文件.前者格式简单,但是只支持键值对.如果需要表达列表,最好使用YAML格式.SpringBoot支持自动加载约定名称 ...

  5. bootstrap.yml与application.yml的区别

    Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件,yml 和 properties 文件都属于配置文件,功能 ...

  6. Bootstrap.yml 和 application.yml

    bootstrap.yml文件也是Spring Boot的默认配置文件,而且其加载的时间相比于application.yml更早. application.yml和bootstrap.yml虽然都是S ...

  7. bootstrap.yml和application.yml的区别

            bootstrap.yml文件会优先于application.yml文件加载         说明:其实yml和properties文件是一样的原理,主要是说明application和 ...

  8. bootstrap.yml与application.properties区别?

    1. bootstrap.yml先于application.properties被加载. 2. bootstrap.yml被Spring ApplicationContext的父类加载,这个类先于加载 ...

  9. spring cloud config的bootstrap.yml与application.proterties的区别

    bootstrap.yml  和application.yml  都可以用来配置参数 bootstrap.yml可以理解成系统级别的一些参数配置,这些参数一般是不会变动的 application.ym ...

最新文章

  1. python3 中 布尔 bool 类型转换
  2. python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换
  3. 加密 lua_三、Lua相关知识
  4. java ftp 假死_FTPClient下载文件,程序假死问题
  5. python 不显示图片 直接保存图片 matplotlib 后端执行指令
  6. IP通信基础 3.21
  7. 大一python题库及答案_Python经典题库及答案-python经典编程题
  8. 华为HCIE云计算培训笔记第3天
  9. python 打卡记录代码_Python的100天打卡(上)
  10. 解决“各种”软件图标显示错误问题
  11. ASP.NET 即时通信,WebSocket服务端实例
  12. Mysql客户端给字段添加中文数据报错SQL错误(1366):Incorrect string value: ‘\xE5\xA4\xA7\xE5\xB9\x85...‘ for column ‘nam
  13. OSG学习之几何图形
  14. ppt无损转图片jpg,pdf api
  15. 算法设计——基姆拉尔森计算公式:计算几月几号是星期几
  16. “去中心化”是区块链的目的吗
  17. 10 个 jQuery 的360 度图片展示插件
  18. miui9支持android,基于Android Q的MIUI来了 小米9尝鲜
  19. 串行通信(SCI模块)
  20. 数字电路与逻辑电路芯片

热门文章

  1. java 主动释放_java如何进行内存自动释放,垃圾回收的?
  2. 【物联网开发】正点原子STM32战舰v3+机智云AIoT+APP控制
  3. jQuery插件-支持天干地支阴历阳历万年历节假日红字显示记事等功能的日历插件(1)...
  4. css 文字溢出...显示,hover时显示隐藏文字
  5. 为什么使用Flatten layer?
  6. 工具提取MP4中的音视频
  7. CAN IP SjA1000ip核 verilog写的 项目以在稳定的用
  8. 计算机教师职业幸福感,教师的职业幸福感作文
  9. 【有利可图网】配色攻略-黑色篇
  10. 项目经验之:针对昨日FDO连接SDF文件报错,国外GIS论坛给出了一个思路.帮助我过关.