spring的容器使用的是beanfactory还是applicationcontext

那spring到底用的是那种容器,是跟spring版本有关,还是可以手动设置选择容器,直接用@bean注解的时候用的是那种容器创建的对象?

1.现在用的都是ApplicationContext,准确点说是从两个子类中选中一个

2.那么BeanFactory的作用?这是历史产物,以前内存、硬盘都很小,所以这个容器的特点是,当你需要使用到容器管理的对象时,才去给你创建,否则不创建

3.但是现在机器容量足够大,不用担心这些问题,所以ApplicationContext的特点是,项目启动,容器管理的类就全部实例化,而且默认单例,使用便捷,也不容易造成内存溢出

4.学习阶段,尽快掌握使用方法,然后快速大量的去实战练习,再回头看理论内容,不然你在这个阶段花费再多时间,也会让你越学越蒙蔽

5.纸上得来终觉浅,绝知此事要躬行。

ApplicationContext 是继承的 BeanFactory。不知道能不能配置使用哪个容器,但是默认使用的就是 ApplicationContext。

你自己看看ApplicationContext的继承关系,就知道了