55、SpringBoot2.x源码分析:ConfigFileApplicationListener配置文件加载原理四

深入解析Spring Boot 2.2.6源码中ConfigFileApplicationListener的配置文件加载机制,包括环境配置加载、属性源添加、激活配置处理以及多环境配置的优先级规则,帮助开发者理解Spring Boot配置加载的核心原理。

Spring Boot 2.2.6 源码之旅五十三ConfigFileApplicationListener配置文件加载原理四

  • 基本流程图
  • 加载环境配置
  • addLoadedPropertySources添加到环境属性源
  • applyActiveProfiles添加激活配置
  • 多激活环境

基本流程图

 

加载环境配置

如果有环境配置会进行处理,然后会加到profiles里,进行环境配置的加载。其实就是这个循环,只要里面还有机会继续加载,所以就不多说了。
 
要注意,这里面可能还有过滤条件要处理。
 
根据profile不同的,有不同的过滤条件。
 

addLoadedPropertySources添加到环境属性源

 
环境配置有限放前面。
 

applyActiveProfiles添加激活配置

添加到环境的激活配置中。
 

多激活环境

其实你可以配多个激活环境,属性绑定的时候规则还挺复杂的,默认是放后面的环境属性优先,但是属性缺失的话还会去前面的找,有兴趣的自己可以研究下,不过还是别这样做,自己都搞晕。
 
 

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。