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源码导读

49e07b8b2181db885ef6d76b638ee89f.png
9869dd2cd797cbd0768457e3b2e3ce4c.png
6cdc23dfc9610f67075f3c98e4747114.png

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

9400f810f661baf7c2f6cdde0f42c622.png

Loader

511a6711c287a7ea2bd7b908397bd84d.png

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

cf9e1ad107796d27ad892ef435f39fa8.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值