spring ioc容器的学习笔记4---XmlBeanFactory ioc容器的简单设计原理解析
2018-01-09 13:52
1061 查看
1,XmlBeanFactory 是一个可以读取xml文件方式定义的BeanDefinition的IOC容器 代码如下:
//DefaultListableBeanFactory 是IOC容器的一个重要实现,在spring中实际上是把它作为一个默认的功能完整的IOC容器来使用的
public class XmlBeanFactory extends DefaultListableBeanFactory {
private final XmlBeanDefinitionReader reader;
//Resource 给出BeanDefinition的信息来源
public XmlBeanFactory(Resource resource) throws BeansException {
this(resource, (BeanFactory)null);
}
public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {
/**
* 编程式使用IOC容器的过程,步骤
* 1,创建IOC配置文件的抽象资源,这个抽象资源包含了BeanDefinition的定义信息
* 例:ClassPathResource resource = new ClassPathResource("bean.xml");
* 2,创建一个BeanFactory,这里使用的是DefaultListableBeanFactory。
* 3,创建一个载入BeanDefinition的读取器,这里使用的是XmlBeanDefinitionReader,通过回调配置给
*BeanFactory。
* 4,从定义好的资源位置读入配置信息,具体解析过程由XmlBeanDefinitionReader来完成。完成整个载入和注册
*bean定义之后,需要的IOC容器就建立起来了
*/
super(parentBeanFactory);
this.reader = new XmlBeanDefinitionReader(this);
this.reader.loadBeanDefinitions(resource);
}
}
//DefaultListableBeanFactory 是IOC容器的一个重要实现,在spring中实际上是把它作为一个默认的功能完整的IOC容器来使用的
public class XmlBeanFactory extends DefaultListableBeanFactory {
private final XmlBeanDefinitionReader reader;
//Resource 给出BeanDefinition的信息来源
public XmlBeanFactory(Resource resource) throws BeansException {
this(resource, (BeanFactory)null);
}
public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {
/**
* 编程式使用IOC容器的过程,步骤
* 1,创建IOC配置文件的抽象资源,这个抽象资源包含了BeanDefinition的定义信息
* 例:ClassPathResource resource = new ClassPathResource("bean.xml");
* 2,创建一个BeanFactory,这里使用的是DefaultListableBeanFactory。
* 3,创建一个载入BeanDefinition的读取器,这里使用的是XmlBeanDefinitionReader,通过回调配置给
*BeanFactory。
* 4,从定义好的资源位置读入配置信息,具体解析过程由XmlBeanDefinitionReader来完成。完成整个载入和注册
*bean定义之后,需要的IOC容器就建立起来了
*/
super(parentBeanFactory);
this.reader = new XmlBeanDefinitionReader(this);
this.reader.loadBeanDefinitions(resource);
}
}
相关文章推荐
- spring ioc容器的学习笔记5---ApplicatonContext ioc容器的应用场景和简单设计原理解析
- Spring源码学习之:模拟实现BeanFactory,从而说明IOC容器的大致原理
- Spring学习笔记---2.1-IOC容器解析Bean配置信息
- Spring 学习笔记(二)—— IOC 容器(BeanFactory)
- spring ioc容器的学习笔记2----ioc容器设计
- [原创]java WEB学习笔记101:Spring学习---Spring Bean配置:IOC容器中bean的声明周期,Bean 后置处理器
- Spring源码解析笔记9——容器的功能扩展BeanFactory的后处理(BeanFactoryPostProcessor)
- Spring学习08--IoC容器的高级特性(lazy-init、FactoryBean、BeanPostProcessor、autowiring)
- 【Spring学习笔记-3.1】让bean获取spring容器上下文(applicationContext.xml)
- spring ioc容器的学习笔记2---ioc容器系列的设计与实现
- spring学习笔记(1)IOC核心原理解析
- Spring学习之IOC容器BeanFactory和ApplicationContext(三)
- Spring IOC 学习笔记(二) BeanFactory
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.5 Bean的生命周期
- Spring学习笔记(二) IoC容器与Bean
- Spring原理(一)IoC容器的初始化过程之BeanFactory
- Spring学习-06:IOC容器装配Bean(xml配置方式)详解
- 【spring源码学习】spring的IOC容器之自定义xml配置标签扩展namspaceHandler向IOC容器中注册bean
- 通过DefaultListableBeanFactory加载.xml配置文件学习Spring-IoC容器注册/加载bean的机制(源码走读)
- Spring的IoC学习笔记之BeanFactoryPostProcessor