加载Bean
在XmlBeanFactory的构造器中调用了XmlBeanDefinitionReader的loadBeanDefinitions(resource)方法;
在loadBeanDefinitions(resource)方法中
loadBeanDefinitions(new EncodeResource(resource));
loadBeanDefinitions(EncodeResource encodeResource)中
//第一步
InputStream is = encodeResource.getResource.getInputStream();
//第二步
InputSource InputSource = new InputSource(is);
//第三步
return doLoadBeanDefinitions(inputSource,encodeResource.getResource);
EncodeResource对资源文件进行编码处理;
第一步:获取输入流,
第二步:由输入流构造InputSource.
第三步:调用doLoadBeanDefinitions()方法.
在doLoadBeanDefinitions(inputSorce,resource)方法中
//第一步
int validationModel = getValidationModeForResource(resource);
//第二步
Document doc = this.documentLoader.loadDocument(inputSource,getEntityResolver(),this.errorHandler,IsNamespaceAware());
//第三步
return registerBeanDefinitions(resource,doc);
第一步:获取xml校验模式;
第二步:加载Xml文件,并转成对应Document;
第三步:根据document对象注册bean信息;