文章目录

  • 前言
  • 一、版本和背景知识
  • 二、配置文件
  • 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.类文件目录

spring boot cors配置 spring boot配置流程_配置文件

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配置文件的位置、命名规则、多环境配置、查找顺序等。其中背后配置加载原理以及查找顺序等在后续会总结和梳理