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的增强版,提供了更多的功能,并在启动时即创建了配置文件中定义的对象。

相关推荐
随缘体验官11 小时前
【无标题】测试一下
java
.柒宇.11 小时前
力扣hoT100之找到字符串中所有字母异位词(java版)
java·数据结构·算法·leetcode
拂晓银砾12 小时前
Java 连接数据库
java
青衫码上行12 小时前
【Java Web学习 | 第九篇】JavaScript(3) 数组+函数
java·开发语言·前端·javascript·学习
浮游本尊12 小时前
Java学习第29天 - 企业级系统架构与实战
java
程序猿DD12 小时前
探索 Java 中的新 HTTP 客户端
java·后端
m0_4955627812 小时前
Swift-Enum
java·算法·swift
姓蔡小朋友12 小时前
Redis:Feed流、SortedSet实现点赞人排序、SortedSet滚动分页
java
青山的青衫12 小时前
【前后缀】Leetcode hot 100
java·算法·leetcode
q***465212 小时前
基于SpringBoot和PostGIS的各省与地级市空间距离分析
java·spring boot·spring