加载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信息;