bootstrap 加载中_「SpringBoot系列」 application与bootstrap区别

配置的加载

SpringBoot会从application.properties加载配置信息到Spring的Environment中。

同时也可以使用YAML('.yml')文件来替代'.properties'

加载顺序

1. A /config subdirectory of the current directory.

位于与jar包同级目录下的config文件夹,也就是当前目录下的/config子文件夹下配置

2. The current directory

位于与jar包同级目录下(jar包当前目录)

3. A classpath /config package

classpath下的config目录,如idea环境下,resource文件夹下的config文件夹,编译之后就是classpath下的config文件夹下配置

4. The classpath root

classpath根目录,如idea环境下,resource文件夹下配置

加载顺序可以要查看ConfigFileApplicationListener#DEFAULT_SEARCH_LOCATIONS

关于application与bootstrap

application是SpringBoot的默认配置加载名称(可以通过spring.config.name修改),而bootstrap是SpringCloud提供的系统级别配置加载名称(可以通过spring.cloud.bootstrap.name修改)。

bootstrap配置是优先级是最高的,并且,bootstrap的配置不会被覆盖

可参考源码BootstrapApplicationListener。BootstrapApplicationLis主要是创建了新环境,进行了bootstrap配置文件的加载

附1:加载配置ConfigFileApplicationListener源码导读

cba32f2719773217ba659e39c7c55dc1.png
c206520056bb6ca284d022e2040f93cb.png
a07756908fedcdacb28bc889f347bdbf.png

最终可以跟到实际的加载处理方法

c9dcc245498d0705aba2e666da311ed8.png

Loader

4ac757364cb994587803d2656cbba479.png

然后,在load配置文件时,根据canLoadFileExtension来进行支持的配置文件匹配,然后加载。

c66a04dcc15cd529a8cc00d551a20ad5.png

附2「SpringBoot系列」配置文件加载优先级解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值