Spring Boot 配置文件bootstrap和application的加载顺序

1. 相同目录优先级

bootstrap.properties/yml >>bootstrap-{profile}.properties/yml>>application.properties/yml>>application-{profile}.properties/yml

2.不同目录优先级

在不指定要被加载文件时,默认的加载顺序:由里向外加载,所以最外层的最后被加载,会覆盖里层的属性

3.后加载的配置覆盖先加载的配置

4.适用场景

bootstrap用于应用程序上下文的引导阶段,可以理解成系统级别的参数配置,这些参数一般是不会变动的。

application用于定义应用级别的,搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现实时更新,动态切换

如果bootstrap就能满足,就不用application

5.有时候发现bootstrap 配置文件是灰色,并未生效

<!-- 引入该 spring-cloud-context.jar 使 bootstrap 配置文件即可生效 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-context</artifactId>
</dependency>

版权声明:本文为htjl575896870原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。