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较多时,会降低程序启动的效率,也会占用一定的内存空间。

相关推荐
rchmin3 分钟前
Spring Boot自动装配原理解析
java·spring boot·后端
程序员小假9 分钟前
我们来说一下 synchronized 与 ReentrantLock 的区别
java·后端
益达32111 分钟前
【避坑指南】Maven依赖冲突怎么解决?用mvn dependency:tree一眼看清
java
爱装代码的小瓶子16 分钟前
【c++进阶】从C++98到C++11的奇妙旅程(故事科普版)
开发语言·c++
智航GIS19 分钟前
2.3 运算符详解
开发语言·python
web3.088899923 分钟前
接入API-自动化批量获取淘宝商品详情数据
开发语言·python
世转神风-39 分钟前
qt-在字符串中指定位置插入字符串
开发语言·qt
驱动探索者40 分钟前
[缩略语大全]之[内存管理]篇
java·网络·算法·内存管理
时光呀时光慢慢走42 分钟前
C# WinForms 实战:MQTTS 客户端开发(与 STM32 设备通信)
开发语言·c#
okseekw1 小时前
Java反射:解锁框架开发的终极密码,让代码拥有"动态灵魂"!
java·后端