BeanFactory和ApplicationContext容器

1.BeanFactory容器

在Spring容器中,BeanFactory是IOC容器中的最顶级的接口,是最基础的版本,里面定义了管理bean的基本方法,如:获取bean、判断是否存在等等方法。

BeanFactory下面有很多的实现类,各有职责,其中DefaultListableBeanFactory 就是在Spring中起到生产Bean的作用。如下图:

2.ApplicationContext容器

ApplicationContext间接继承了BeanFactory接口,其里面相较于BeanFactory扩展了更多的功能和服务,也是用来管理Bean的。

3.区别

  • BeanFactory是Spring框架的基础设施,不支持AOP,web等插件,而ApplicationContext不仅包含了BeanFactory的所用功能,还支持Spring的各种插件,功能更全面。

  • BeanFactory采用的是延迟加载,只有在使用Bean时,才会进行加载实例化,这样就不能及时发现项目中的一些配置问题,而ApplicationContext是在启动时,一次性创建好了所有的Bean,但是缺点就是如果Bean较多时,会降低程序启动的效率,也会占用一定的内存空间。

相关推荐
两个蝴蝶飞17 小时前
Java量化系列(四):实现自选股票维护功能
java·经验分享
半桶水专家19 小时前
go语言中的结构体嵌入详解
开发语言·后端·golang
短剑重铸之日19 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖19 小时前
Java--多线程
java
Dreamboat-L19 小时前
云服务器上部署nginx
java·服务器·nginx
长安er19 小时前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
在屏幕前出油20 小时前
二、Python面向对象编程基础——理解self
开发语言·python
阿方索20 小时前
python文件与数据格式化
开发语言·python
cici1587420 小时前
C#实现三菱PLC通信
java·网络·c#
k***921621 小时前
【C++】继承和多态扩展学习
java·c++·学习