被遗弃的XmlBeanFactory

从源码注释来看,Sring 3.1开始就弃用了XmlBeanFactory,DefaultListableBeanFactory能够彻底替代它的功能。函数

XmlBeanFactory是DefaultListableBeanFactory的一个扩展,其中,初始化了XmlBeanDefinitionReader,提供了两个构造函数用来建立XmlBeanFactory Ioc容器。this

public class XmlBeanFactory extends DefaultListableBeanFactory {

	private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);

	public XmlBeanFactory(Resource resource) throws BeansException {
		this(resource, null);
	}

	public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {
		super(parentBeanFactory);
		this.reader.loadBeanDefinitions(resource);
	}

}

Resource是Spring封装的I/O的接口类,用来获取定义bean的Xml文件信息。code

Resource resource = new ClassPathResource("XmlBeanFactory.xml", getClass());

ClassPathResource构造出Resouce,以入参的形式传递给XmlBeanFactory的构造函数,经过调用XmlBeanDefinitionReader的loadBeanDefinitions函数对xml文件中定义的bean进行初始化和依赖注入。xml

相关文章
相关标签/搜索