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);
}
}