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

相关推荐
jnrjian10 小时前
delete file shell 让 AI 写脚本
服务器·开发语言
傅科摆 _ py10 小时前
DP,贪心,堆和栈,二分力扣复习
开发语言·python·算法
kiracrimson10 小时前
栈与队列容器:适配器、deque 与 priority_queue
开发语言·c++·适配器模式
北冥you鱼11 小时前
Go 语言 CRUD 实战:从接口设计到真实业务场景
开发语言·后端·golang
Lichee2011 小时前
招行Java 面试知识点梳理:Spring 事务、锁、线程池、集合
java·面试
YDS82911 小时前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring
Shaoshing11 小时前
LeetCode100 42.接雨水
java·算法·leetcode
枫子有风11 小时前
卡码网盘项目深挖
java·redis·jwt·es·pgvector
雷一言说11 小时前
Spring AI 2.0 Modular RAG:接入 Rerank 重排模型
spring
郭小李11 小时前
springmvc 拦截器
java·开发语言·前端