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

相关推荐
你有抖音吗1 分钟前
【每日 C/C++ 问题】
开发语言·c++
大鲤余8 分钟前
rust 中if let、match -》 options和Result枚举类型
开发语言·后端·rust
m0_5719575812 分钟前
Java | Leetcode Java题解之第538题把二叉搜索树转换为累加树
java·leetcode·题解
raoxiaoya13 分钟前
python安装selenium,geckodriver,chromedriver
开发语言·python·selenium
CAORENZHU13 分钟前
Java NIO 核心知识.下
java
程序员徐师兄16 分钟前
基于 JavaWeb 的宠物商城系统(附源码,文档)
java·vue·springboot·宠物·宠物商城
小鸡脚来咯36 分钟前
java 中List 的使用
java·开发语言
南棱笑笑生42 分钟前
20241105编译Rockchip原厂的Android13并给荣品PRO-RK3566开发板刷机
java·开发语言·前端
Erorrs1 小时前
Android13 系统/用户证书安装相关分析总结(二) 如何增加一个安装系统证书的接口
android·java·数据库
Dxy12393102161 小时前
python使用requests发送请求ssl错误
开发语言·python·ssl