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

相关推荐
Rysxt_几秒前
Spring Boot SPI 教程
java·数据库·sql
海边夕阳2006几秒前
主流定时任务框架对比:Spring Task/Quartz/XXL-Job怎么选?
java·后端·spring·xxl-job·定时任务·job
4***V2027 分钟前
Vue3响应式原理详解
开发语言·javascript·ecmascript
q***98529 分钟前
VS Code 中如何运行Java SpringBoot的项目
java·开发语言·spring boot
帧栈19 分钟前
开发避坑指南(72):HttpHeaders 的add()方法和set()方法有什么区别?
java·spring·http
共享家952721 分钟前
QT-界面优化(中)
开发语言·qt
wasp52024 分钟前
Spring AI 代码分析(十)--Spring Boot集成
人工智能·spring boot·spring
李日灐28 分钟前
手搓简单 string 库:了解C++ 字符串底层
开发语言·c++
unclecss33 分钟前
把 Spring Boot 的启动时间从 3 秒打到 30 毫秒,内存砍掉 80%,让 Java 在 Serverless 时代横着走
java·jvm·spring boot·serverless·graalvm
say_fall37 分钟前
C语言编程实战:每日一题 - day7
c语言·开发语言