BeanFactory的简单介绍和使用
我们还是先来看一下BeanFactory的整体架构,看一下红框,我们可以发现,BeanFactory的具体实现除了SimpleJndiBeanFactory和StaticListableBeanFactory之外,其他的底层实现都是XmlBeanFactory。
我们来看一下类图
从这张类图上,我们还是能非常清晰地了解BeanFactory的整体架构的,其最终实现就是XmlBeanFactory,从名字上我们可以看到是解析Xml格式文件的BeanFactory,这样就显得比较单一,所以从Spring 3.1版本以上,XmlBeanFactory已经被Spring设置成不推荐使用了,而改用DefaultListableBeanFactory:
Resource resource = new ClassPathResource("beans.xml");return new XmlBeanFactory(resource);改成了Resource resource = new ClassPathResource("beans.xml");DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();BeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);reader.loadBeanDefinitions(resource);