接下来继续解析第二段:setConfigLocations(configLocations)方法,实现内容如下:
```java
public void setConfigLocations(@Nullable String... locations) {
if (locations != null) {
Assert.noNullElements(locations, "Config locations must not be null");
this.configLocations = new String[locations.length];
for (int i = 0; i < locations.length; i++) {
this.configLocations[i] = resolvePath(locations[i]).trim();
}
}
else {
this.configLocations = null;
}
}
```
locations 参数的值来自于以下代码的xml 文件路径部分(classpath:/config/hello.xml),也就是说这个数组的长度为 1:
```java
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/config/hello.xml");
```
而下面这段代码则是将classpath:/config/hello.xml的相对路径转换我为当前系统的绝对路径:
```java
this.configLocations[i] = resolvePath(locations[i]).trim();
```
### 总结
也就是说setConfigLocations方法的主要作用就是将Spring框架配置的xml 文件路径转换为绝对路径,并进行保存