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.applicatio配置文件中n.name 和 spring.cloud.config.server.git.uri,添加连接到配置中心的配置属性来加载外部配置中心的配置信息
  • 一些固定的不能被覆盖的属性
  • 一些加密/解密的场景

spring yml 配置事务_application.yml与bootstrap.yml的区别相关推荐

  1. Spring MVC+Spring +Hibernate配置事务,但是事务不起作用

    最近做项目,被一个问题烦恼了很久.使用Spring MVC+Spring +Hibernate开发项目,在使用注解配置事务管理,刚开始发现无论如何数据库都无法更新,但是可以从数据库查询到数据.怀疑是配 ...

  2. 【Spring】配置事务 注解方式与非注解方式

    Spring的事务配置非注解方式 <!--通知--><tx:advice id="txAdvice" transaction-manager="txTr ...

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

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

  4. Spring Boot实现任意位置的properties及yml文件内容配置与获取

    〇.参考资料 1.Spring Boot 中文乱码问题解决方案汇总 https://blog.51cto.com/u_15236724/5372824 2.spring boot读取自定义配置prop ...

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

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

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

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

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

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

  8. spring boot读取yml配置集合,反射实战!

    一 . 手动从spring中获取bean对象,工具类 package com.meeno.wzq.util;import org.springframework.beans.BeansExceptio ...

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

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

最新文章

  1. Win10系列:UWP界面布局基础11
  2. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )
  3. loader.asm 注释
  4. android: 使用 AsyncTask
  5. 收藏本站html,加入收藏代码_加入收藏代码 -收藏本站的代码
  6. atlas安装需要kafka吗_Atlas 2.1.0 实践(2)—— 安装Atlas
  7. jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准
  8. 从零开始学前端:浮动 --- 今天你学习了吗?(CSS:Day15)
  9. 关于自然语言处理,数据科学家需要了解的 7 项技术
  10. 人群与网络:新事物在网络中的扩散
  11. 读书笔记:《知道做到》
  12. java中函数的三要素是什么_函数的概念与三要素
  13. 小学数学四年级上册计算机教案,新人教版四年级上册数学教案
  14. 在嵌入式开发中如何提高自己的代码水平
  15. Gartner:2018年前沿技术预测
  16. 使用prometheus(普罗米修斯)监控redis容器详解
  17. 获取设备的型号信息,比如iPhone5s,iPhone5等等
  18. 微信公众平台测试号登录入口地址
  19. Python os.listdir方法(获取文件夹目录下的内容)
  20. 计算机网络(二) 虚拟网桥

热门文章

  1. MinGW C++ window7 编译环境的配置
  2. Codeforces Round #879 (Div. 2) C. Short Program
  3. 自写小函数处理 javascript 0.3*0.2 浮点类型相乘问题
  4. ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据
  5. eclipse查看一个方法被谁引用(调用)的快捷键四种方式
  6. jsp还能引用项目外的js,css啊
  7. java实例属性_Java 静态属性与实例属性的初始化
  8. 统计出每个班分别有男女生各多少名
  9. Lenovo E47A Ubuntu闪屏解决办法
  10. 《C++并发编程实战》——1.1 什么是并发