Spring Cloud系列-bootstrap.yaml和application.yaml的区别

4,529 阅读1分钟

看博客的时候发现大家都会有bootstrap.yaml和application.yaml这两个配置文件,对这个地方有点迷惑,然后就专门查了一下这两个文件的加载顺序以及各自的作用。

bootstrap.yaml

用于程序引导时运行,应用于更早期配置信息的读取,比如可以用来配置application.yaml中使用到的参数,可以理解为系统级别的一些参数配置,这些参数一般是不会变动的。

application.yaml

应用程序中特有的配置信息,可以用来装配后续各个模块中需使用的公共参数。

典型的应用场景

  • 当使用Spring Cloud Config Server的时候,应该在bootstrap.yml中指定spring.application.name和spring.cloud.server.git.uri
  • 一些加密/解密信息

在结合config server使用的时候,bootstrap.yaml更多的是配置一些不经常变化甚至不变化的属性。application.yaml属性文件可更灵活的配置一些属性

加载顺序

一般的加载顺序是

  1. bootstrap.yaml
  2. application.yaml
  3. application-dev.yaml

如果在这些配置文件中存在同名的属性的话,后加载的值会覆盖先加载的值。

参考文章

SpringCloud 配置文件 application.yml和 bootstrap.yml区别

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