聊一下Spring Boot配置的加载顺序

173 阅读2分钟

「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战

前言

今天我们来学习一下Spring Boot中配置的加载顺序,这也是我们在平时开发过程中总是会遇到的情况。下面就一起来看一下吧。

聊一下Spring Boot配置的加载顺序

为什么要搞清Spring Boot配置的加载顺序,因为在开发过程中,很偶然的情况,就会出现配置被覆盖的情况。

而这个问题,就是因为配置的加载顺序,你如果加载了一个配置,后面重新加载了一遍,自然就出现配置不见了的情况。

  1. 命令行参数,比如我们在运行jar包时的参数,如下示例:

java -jar test.jar --name=名称

通过上面的命令,就可以把name参数值加载到项目配置中。

  1. java系统属性,这里的系统属性,主要是指通过System中的getProperties方法取到的参数。

  2. 来说重要的了,配置文件,比如springBoot中的yml文件,还有properties文件。

  3. 通过Configuration注解进行配置的参数。

这里要着重说一下SpringBoot中的配置文件顺序,

这里存在几个文件类型的不同,application.profile.properties/yml文件,application.properties/yml文件。

一般先加载带profile的配置文件,随后再加载没有profile的文件。

还有就是一个情况,我们还会有文件夹下面的配置文件的情况。

如果一个文件夹下存在配置文件,那么就先加载文件夹下的配置文件,然后再加载文件夹外部的配置文件。

当然了,还可能会出现多个文件夹的情况,系统会按照顺序依次加载。

多重文件夹的话,会从最内层文件夹开始加载,依次往外部加载。

总结

今天我们搞清了Spring Boot中配置的加载顺序,以后在开发过程中就不会存在配置总是被覆盖的问题了。