Spring源码解析-读书笔记3

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


猜你喜欢

转载自blog.csdn.net/lucca_hello/article/details/80071661
今日推荐