bootstrap和application的区别
-
bootstrap.yml 先于 application.yml。
-
bootstrap.yml 用于 ApplicationContext 引导阶段。由父 Spring ApplicationContext 加载。定义系统级别的参数配置,这些参数一般不会变动。
-
application.yml 用来定义应用级别的参数配置。搭配 spring-cloud-config 使用时 application.yml 定义的参数可以实现动态替换。
-
application.yml 会覆盖 bootstrap.yml 的参数配置。
springboot的配置优先级
- 由里向外,外层覆盖里层。
命令行参数 > 操作系统环境变量 > 应用外的配置文件 > 应用内的配置文件
加入springcloud配置中心后
配置中心 > 命令行参数 > 本地application.yml > 本地bootstrap.yml
配置允许覆盖:
spring:
cloud:
config:
allowOverride: true
overrideNone: true
overrideSystemProperties: false