springboot配置文件bootstrap(yml,properties)和application(yml,properties)说明

首先这两个都是springboot的配置文件,都有两种不同的后缀名分别是

bootstrap.yml、bootstrap.properties、application.yml、application.properties

对于刚刚新建的springboot项目一般都是application.properties,我们都习惯于新建一个application.properties配置文件

.yml文件:使用层级结构和缩进来表示属性之间的关系,采用了YAML(YAML Ain’t Markup Language)格式

.properties:使用键值对的方式进行配置,类似于传统的属性文件格式

作用:

  bootstrap(.yml/.properties) 文件也是 SpringBoot 的默认配置文件,而且其加载的时间相比于 application(.yml/.properties) 更早。

 application(.yml/.properties) 和 bootstrap(.yml/.properties) 虽然都是 SpringBoot 的默认配置文件,但是定位却不相同。

 bootstrap(.yml/.properties) 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。

  application(.yml/.properties) 可以用来定义应用级别的参数。

优先级

在同一级目录下,会先比较前缀 bootstrap 和 application,其中 bootstrap 比 application 的优先级高,其次再去比较后缀 .properties 和 .yml,其中 .properties 比 .yml 优先级高。

配置覆盖

相同类型比较 properties 优先级高

当同一个配置属性在 bootstrap.properties 和 bootstrap.yml 文件中都存在时,那么 properties 中的配置会被加载,而忽略 yml 文件中的配置(即优先级高的配置覆盖优先级低的配置),不同配置相互互补。此处 application(.properties/yml) 同理。

不同类型比较 applicatioin 覆盖 bootstrap
 但当同一配置在 bootstrap 和 application 中都存在时,那么虽然优先加载 bootstrap 但是会被 applicatioin 中的配置覆盖,此时则变成了低优先级覆盖高优先的配置

application.properties 覆盖其他三种配置文件

 当同一个配置属性在四种配置(bootstrap.properties、bootstrap.yml、application.properties、application.yml)都存在,application.properties 里的配置一定是会覆盖其他配置文件。

        首先遵循第二点:虽然优先加载 bootstrap 但是会被 applicatioin 中的配置覆盖,这时候就只剩 application.yml 和 application.properties 了,其次遵循第一点:即优先级高的配置覆盖优先级低的配置,所以 application.properties 的配置文件会覆盖其他配置文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值