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

相关推荐
知识即是力量ol4 小时前
初识 Kafka(一):分布式流平台的定义、核心优势与架构全景
java·分布式·kafka·消息队列
爱吃生蚝的于勒4 小时前
【Linux】线程概念(一)
java·linux·运维·服务器·开发语言·数据结构·vim
kong79069284 小时前
Nginx性能优化
java·nginx·性能优化
Pluchon4 小时前
硅基计划4.0 算法 简单模拟实现位图&布隆过滤器
java·大数据·开发语言·数据结构·算法·哈希算法
我命由我123454 小时前
Java 泛型 - Java 泛型通配符(上界通配符、下界通配符、无界通配符、PECS 原则)
java·开发语言·后端·java-ee·intellij-idea·idea·intellij idea
Seven974 小时前
AQS深度探索:以ReentrantLock看Java并发编程的高效实现
java
yunsr4 小时前
python作业3
开发语言·python
4311媒体网5 小时前
C语言操作符全解析 C语言操作符详解
java·c语言·jvm
淡忘_cx5 小时前
使用Jenkins自动化部署spring-java项目+宝塔重启项目命令(2.528.2版本)
java·自动化·jenkins
星火开发设计5 小时前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识