ApplicationContext和BeanFactory的区别

ApplicationContext和BeanFactory 接口及其子类图
这里写图片描述

BeanFactory

BeanFactory是spring的原始接口,针对原始结构的实现类功能比较单一,BeanFactory接口实现的容器,特点是在每次获取对象时才会创建对象。

ApplicationContext

继承了BeanFactory接口,拥有BeanFactory的全部功能,并且扩展了很多高级特性,每次容器启动时就会创建所有的对象。

创建ApplicationContext的方法:
1、丛类路径下加载配置文件:ClassPathXmlApplicationContext
2、从硬盘绝对路径下加载配置文件:
FileSystemXmlApplicationContext(“d:/xxx/yyy/xxx”)

结论

早期的电脑性能低,内存小,所以spring容器的容量不足,不能讲所以的对象全部创建好放入容器,所以使用的是BeanFactory,需要某个对象时,再进行创建,随着电脑硬件的发展,内存越来越大,所以spring框架引入了ApplicationContext,将所有的对象都创建好,放入容器,使用哪个对象,从容器中取得即可。

所以,web开发中,使用applicationContext. 在资源匮乏的环境可以使用BeanFactory.

猜你喜欢

转载自blog.csdn.net/qq_42780864/article/details/81333715