spring源码具体细节 super setConfigLocations
1 首先先调用super 父类构造方法 classPathXmlApplicaitonContext 初始化成员属性

依然掉父类构造方法

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

启动容器会分配唯一id值


-------
设置配置文件文件路径
setConfigLocations(configLocations)

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



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

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


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








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

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

截取字符串

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



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


浙公网安备 33010602011771号