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

相关推荐
BBB努力学习程序设计5 分钟前
Java方法详解:提升代码复用性与可读性的利器
java
BBB努力学习程序设计6 分钟前
Java运算符完全指南:让代码学会“计算”和“判断”
java
csbysj202035 分钟前
DOM 节点
开发语言
用户849137175471641 分钟前
ThreadLocal 源码深度解析:JDK 设计者的“妥协”与“智慧”
java·后端
用户03048059126343 分钟前
# 【Maven避坑】源码去哪了?一文看懂 Maven 工程与打包后的目录映射关系
java·后端
小尧嵌入式1 小时前
C++基础语法总结
开发语言·c++·stm32·单片机·嵌入式硬件·算法
@游子1 小时前
Python学习笔记-Day2
开发语言·python
v***55341 小时前
springboot使用logback自定义日志
java·spring boot·logback
qq_336313931 小时前
java基础-集合进阶
java·开发语言·windows
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 归并排序(Merge Sort) 基于分治思想(Divide and Conquer)的高效排序算法
java·linux·算法·spring·排序算法