个人猜测SpringBoot从配置中心加载配置就是使用的这个方式,不过由于没有实际看过相关源码确认,不敢说一定是的 ,但是应该是八九不离十 的 。
总结这篇记录写的有点乱,一个是涉及到东西感觉也不少,还有就是本身有些地方不怎么了解,花费的时间不够。
不过对SpringBoot的外部化配置来说,就是将各个途径加载进来的配置,统一收归Environment的MutablePropertySources字段,这个字段是一个ArrayList,保持添加进来时的顺序,因此查找也是按照这个顺序查找,查找时查到即返回,不会完全遍历所有的配置,除非遇到不存在的。
整个设计思想就是使用集中所有的配置,进行优先级排序,最后在有需要获取配置的地方,从Environment对象中查找配置项。
对一般使用来说,关注点就是配置文件的位置,配置文件的名,以及优先级,这三个方面比较关心。
这篇记录也基本能解答这几个疑问,完成了写这篇记录的初衷。