容器的实现,我们之前大概把源码已经看了一遍。从基本流程上看ApplicationContext确实有优势的多,新增了很多的附加功能,或者说有更多的实现。但是也不能因为ApplicationContext有优势而直接废弃XmlBeanFactory,本文一起来理理为什么废弃XmlBeanFactory
XmlBeanFactory替代方案
Spring 3.1以后已经废弃了XmlBeanFactory这个类了,现在推荐使用的是ApplicationContext。具体怎么使用,其实我们之前的小案例里面已经有了。这里再贴一下:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("testApplicationContext.xml");
TestBean testBean = (TestBean) applicationContext.getBean("testBean");
System.out.println(testBean.getName());
XmlBeanFactory废弃原因
- XmlBeanFactory对作用于的支持单一
BeanFactory只支持两个作用域——Singleton和Prototype。 - XmlBeanFactory延迟加载
在企业及的项目当中,我们对bean的需求往往是比较大的,如果了解延迟加载的朋友,想必了解,延迟加载确实会给我们启动释放很多的压力,但是当我们在运行的时候,大量加载的时候,也会出现性能瓶颈 - XmlBeanFactory不会自动注册接口。
- XmlBeanFactory在企业级项目里面,并没有太好的支持