Spring - 提供 IOC 容器实现的两种方式

  1. BeanFactory:

    • BeanFactory是Spring的IOC容器的基本实现,它是一个接口,提供了IOC容器的基本功能。
    • BeanFactory在加载配置文件时不会立即创建对象,而是在需要时(延迟初始化)才会创建对象。
    • 通常BeanFactory在Spring内部使用,较少直接使用它。
  2. ApplicationContext:

    • ApplicationContext是BeanFactory接口的子接口,提供了更多更强大的功能。
    • ApplicationContext在加载配置文件时会立即创建配置文件中定义的所有对象,也就是在启动时就会进行初始化。
    • ApplicationContext提供了更多的功能,如国际化、事件传播、资源访问等,是常用的IOC容器。

以下是对BeanFactory和ApplicationContext的对比表格:

特征 BeanFactory ApplicationContext
定义与实现 基本实现 增强实现
配置文件加载时是否创建对象 延迟初始化 启动时立即创建对象
功能 提供基本IOC功能 提供更多功能,如国际化、事件传播、资源访问等

总的来说,BeanFactory是Spring的基本IOC容器,它具有延迟初始化的特性,而ApplicationContext是BeanFactory的增强版,提供了更多的功能,并在启动时即创建了配置文件中定义的对象。

相关推荐
甜到心里的蛋糕15 分钟前
抖音评论自动回复机器人部署实践:无头 Chrome + DeepSeek + NapCat(2C2G 云主机)
java·jvm·chrome·python·抖音·deepseek
Java爱好狂.21 分钟前
阿里1658页Java面试题总结(含答案)
java·后端·高并发·架构师·java面试·java面试题·java八股文
Thanks_ks27 分钟前
从 0.1+0.2 不等于 0.3 说起:聊聊浮点数精度问题
java·python·数值计算·精度丢失·bigdecimal·浮点数·ieee754
海鸥-w36 分钟前
区域名称同步存储实现笔记
java·笔记
Rain的Java大神之路43 分钟前
LeetCode 21 合并两个有序链表:一道 Easy 题,凭什么刷掉一半候选人?
java·后端·算法
小白的码BUG之路1 小时前
K8S -- 集群搭建环境基础
java·服务器·kubernetes
w_t_y_y1 小时前
JWT(5)JWT+spring security
java·后端·spring
wenyq71 小时前
LeetCode 152. Maximum Product Subarray
java·算法·leetcode
余额瞒着我当琳1 小时前
C++异常,异常的概念,异常抛出与捕获,RAII 和智能指针的设计思路,C++标准库一些指针的使用
java·开发语言·c++·算法