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

相关推荐
真正的醒悟7 分钟前
什么是标准等保架构
开发语言·php
郑州光合科技余经理12 分钟前
同城020系统架构实战:中台化设计与部署
java·大数据·开发语言·后端·系统架构·uni-app·php
LcVong14 分钟前
Android 25(API 25)+ JDK 17 环境搭建
android·java·开发语言
苏宸啊15 分钟前
C++string(一)
开发语言·c++
老鱼说AI19 分钟前
深入理解计算机系统1.5:抽象的重要性:操作系统与虚拟机
c语言·开发语言·汇编
a程序小傲26 分钟前
高并发下如何防止重复下单?
java·开发语言·算法·面试·职场和发展·状态模式
uoKent35 分钟前
c++中的封装、继承与多态
开发语言·c++·算法
sww_10261 小时前
智能问数系统(二):数据分析师Python
java·前端·python
Mr -老鬼1 小时前
UpdateEC - EasyClick 项目热更新系统(Rust构建)
开发语言·后端·rust
2301_781392521 小时前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化