spring源码具体细节 super setConfigLocations

 

 1 首先先调用super 父类构造方法  classPathXmlApplicaitonContext  初始化成员属性

 

 依然掉父类构造方法

 

调用父类  资源处理器  当前系统需要运行所需要的运行资源 例如 xml文件

 

 

启动容器会分配唯一id值

 

 

 

 

 -------

设置配置文件文件路径

setConfigLocations(configLocations)

 

 这里配置文件是可变参数  可以穿一个 亦可以传多个  读取当前配置文件

 

 

 

没有写构造方法 而是调用的父类的构造方法  然后子类重写了父类的构造方法

 

 

获取资源属性 和资源环境属性

 

 

 

 

 有了系统环境值 和属性值  接下来就需要解析配置文件路径的占位符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

判断当前值是否包含${ 获取它的起始索引

 

 

 然后我们需要找到 }结尾的索引

 

截取字符串

 

 

 递归调用 解析当前占位符 里面包含了另外的占位符 spring-${abc${def}}.xml

 

 

 

 

 

 

 

从资源属性中获取username 看是否存在  如果存在 替换占位符

 

 

posted @ 2022-08-28 12:01  花心大萝卜li  阅读(23)  评论(0)    收藏  举报