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

相关推荐
宸津-代码粉碎机4 分钟前
Spring AI企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring
南极企鹅5 分钟前
springboot项目不退出的原因
java·spring boot·后端
devilnumber9 分钟前
Java 二分查找(二分算法)详解 + 实战运用 + 核心坑点
java·开发语言·算法
仍然.13 分钟前
SpringBoot快速上手
java·spring boot·后端
ch.ju15 分钟前
Java程序设计(第3版)第四章——重载和覆盖的区别
java·开发语言
仍然.27 分钟前
Spring MVC(1)---介绍Spring MVC 和 请求数据
java·spring·mvc
DianSan_ERP28 分钟前
架构师视角:电商大促高并发下的订单API限流与防漏单架构演进
java·运维·网络·安全·微服务·架构·自动化
云烟成雨TD29 分钟前
Agent Scope Java 2.x 系列【6】消息层
java·人工智能·agent
云烟成雨TD30 分钟前
Spring AI Alibaba 1.x 系列【74】Agentic RAG 与混合 RAG
java·人工智能·spring
小刘|32 分钟前
Spring AI 结构化输出 + 大模型参数全解(含千问调优)
java·后端·spring