XmlBeanDefinitions加载BeanDefinition步骤
1.
@Override
public int loadBeanDefinitions(Resource resource) throws BeanDefinitionStoreException {
return loadBeanDefinitions(new EncodedResource(resource));
}
public EncodedResource(Resource resource) {
this(resource, null, null);
}
将Resource转换为EncodedResource。
EncodedResource作用是将Resource进行编码处理。后续的操作都是对于EncodedResource的。
2.
public int loadBeanDefinitions(EncodedResource encodedResource) throws BeanDefinitionStoreException {
Assert.notNull(encodedResource, "EncodedResource must not be null");
if (logger.isTraceEnabled()) {
logger.trace("Loading XML bean definitions from " + encodedResource);
}
// 获取当前正在处理的资源
Set<EncodedResource> currentResources = this.resourcesCurrentlyBeingLoaded.get();
if (!currentResources.add(encodedResource)) {
throw new BeanDefinitionStoreException(
&