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

相关推荐
2401_83579254几秒前
Java复习上
java·开发语言·python
小昭在路上……2 分钟前
编译与链接的本质:段(Section)的生成与定位
java·linux·开发语言
启山智软18 分钟前
【智能商城系统技术架构优势】
java·spring·开源·商城开发
迷藏49419 分钟前
# 发散创新:基于Solidity的NFT智能合约设计与部署实战在区块链技术飞速发展
java·区块链·智能合约
tq108621 分钟前
从对象互操作性角度分析 `from` 与 `to` 方法的选择
java
Ai财富密码22 分钟前
AI生成大屏可视化:数据智能驱动下的高维洞察与决策中枢
开发语言·人工智能·python·sdd
半兽先生25 分钟前
01阶段:大模型语言入门
开发语言·python
fengenrong27 分钟前
20260325
开发语言·c++
l1t29 分钟前
执行python pyperformance基准测试的步骤
开发语言·python
chushiyunen30 分钟前
python中的for循环、dict、set、列表、数组等
开发语言·python