文章目录
- 前言
- 一、版本和背景知识
- 二、配置文件
- 1.配置文件名称
- 2.配置文件位置
- 3.配置查找顺序
- 总结
前言
之前做的SpringBoot项目都是用配置中心来进行配置,一直没有仔细研究SpringBoot的配置文件和加载顺序,本文主要是研究一下使用加载顺序。
一、版本和背景知识
1.SpringBoot版本如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
2.根目录为项目所属目录,类文件目录为src/main/resources.
二、配置文件
1.配置文件名称
配置文件名称:springboot默认配置文件名称为application.properties或者application.yml,如果需要多环境支持可以按照application-{profiles}来对配置文件进行命名,其中启用哪个环境配置可以用-Dspring.profiles.active这个参数来指定。
2.配置文件位置
配置文件位置:springboot配置文件可以放置的位置依次为:
1.根目录config文件夹
2.根目录
3.类文件目录config文件夹
4.类文件目录
3.配置查找顺序
假设支持多环境配置并且启动参数设置了-Dspring.profiles.active=dev.
配置查找遵循以下规则:
3.1 文件优先级:对于某个配置文件,会依次从以下文件中查找,找到即返回:查找优先级为application-dev->application;
3.2 位置优先级:每个文件都会从以下位置依次查找:
1.根目录config文件夹下
2.根目录
3.类文件目录config文件夹
4.类文件目录
3.3 同一个目录下 properties后缀文件优先级高于yml后缀文件
具体查找顺序
1.1 从根目录config文件夹下位置查找application-dev.properties文件中配置,然后查找application-dev.yml文件中配置
1.2 从根目录下位置查找application-dev.properties文件中配置,然后查找application-dev.yml文件中配置
1.3 从类文件目录config文件夹下位置查找application-dev.properties文件中配置,然后查找application-dev.yml文件中配置
1.4 从类文件目录下位置查找application-dev.properties文件中配置,然后查找application-dev.yml文件中配置
2.1 从根目录config文件夹下位置查找application.properties文件中配置,然后查找application.yml文件中配置
…
总结
主要是介绍一下Springboot配置文件的位置、命名规则、多环境配置、查找顺序等。其中背后配置加载原理以及查找顺序等在后续会总结和梳理