一起来学SpringBoot(二)properties和yml

上述中讲到了怎么创建SpringBoot项目,那么现在就来介绍下SpringBoot配置文件的两种格式yml和properties

首先呢发上一份application.properties

在放上一份相同配置的application.yml

我们可以看到,相同的配置下yml显得更加简洁, 但是yml却拥有相当严格的格式,他的层级关系必须以相应的缩进表示

可以使2空格可以使更多的空格只要层级间保持一致即可,切记冒号前要多加一个空格


读取顺序

说明一下读取顺序的问题

如果在不同的目录中存在多个配置文件,它的读取顺序是:

1、config/application.properties(项目根目录中config目录下)

2、config/application.yml

3、application.properties(项目根目录下)

4、application.yml

5、resources/config/application.properties(项目resources目录中config目录下)

6、resources/config/application.yml

7、resources/application.properties(项目的resources目录下)

8、resources/application.yml

注:

1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。

2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。

3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下

多环境配置

在真实的开发中,环境总是多变的,我们不能一直的去改配置文件,做一些重复的劳动,在SpringBoot中提供了配置文件的多环境配置,不同的配置环境可以配置不同的参数,当然这样也方便部署,提高效率,减少出错的情况。

在配置文件后面 以application-{profile}.yml 的方式命名文件 然后在application.yml中加入

spring:
profiles:
active: dev

即可 启动的时候就会去读取appliaction-dev.yml中的配置


bootstrap

如果你创建了一个bootstrap.yml的配置文件 (不是那个前端框架)

则你在启动SpringBoot项目的时候会先去读取bootstrap.yml中的配置,这里要说明一下

bootstrap.yml 用于应用程序上下文的引导阶段。

bootstrap.yml 由父Spring ApplicationContext加载。

父ApplicationContext 被加载到使用 application.yml 的之前。

本博文是基于springboot2.x 如果有什么不对的请在下方留言。