码迷,mamicode.com
首页 > 其他好文 > 详细

2.1.1_BeanFactory是怎么加资源的

时间:2017-07-06 18:34:28      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:解析   init   actor   不能   最简   文件中   font   ebean   分享   

其实这是个伪命题,BeanFactory本身并不能主动加载Bean配置。

BeanDefinitionReader持有BeanFactory引用,读取配置资源并解析成BeanDefinition,然后注册到BeanFactory中。

 

一个最简单的BeanFactory的使用样例只需要几行代码:

1 BeanFactory beanFactory = new DefaultListableBeanFactory();
2 Resource resource = new ClassPathResource("beans.xml");
3 XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);
4 reader.loadBeanDefinitions(resource);

 

示意图:

技术分享

整个处理过程:

1、创建DefaultListableBeanFactory

2、创建配置文件资源ClassPathResource

3、创建XmlBeanDefinitionReader,内部持有BeanFactory的引用;

4、XmlBeanDefinitionReader读取Resource数据流;

5、通过DefaultDocumentLoaderxml数据流进行解析、验证,生成DOM

6、通过DefaultBeanDefinitionDocumentReaderDOM进行处理并生成BeanDefinition

7、XmlBeanDefinitionReaderBeanDefinition注册到BeanFactory

 

这样BeanFactory中就有了配置文件中的Bean定义,但此时BeanFactory中并没有实际的Bean对象生成,通过getBean(string name)会触发的Bean创建。

 

2.1.1_BeanFactory是怎么加资源的

标签:解析   init   actor   不能   最简   文件中   font   ebean   分享   

原文地址:http://www.cnblogs.com/jiaoqq/p/7127419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!