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

相关推荐
t***5443 分钟前
如何在 Dev-C++ 中设置 MinGW 和 Clang 的路径
java·前端·c++
拜托啦!狮子6 分钟前
安装EnsDb.Hsapiens.v86
java·服务器·前端
用户8608211356510 分钟前
Springboot按jar包方式启动,究竟发生了什么
spring
aq553560012 分钟前
GitSubmodule深度避坑指南
java·开发语言·php
雨声不在13 分钟前
家用版本maven的创建方法
java·maven
yaoxin52112319 分钟前
391. Java 文件操作基础 - 方法链式调用
java·开发语言·python
一铭1119927 分钟前
gpt-claude-gemini 超级大模型安装使用教程
java·python·gpt·ai编程·claude·gemini
weisian15127 分钟前
Java并发编程--44-分布式限流:令牌桶与漏桶算法在网关层的落地
java·分布式·令牌桶算法·漏桶算法·固定窗口算法·滑动窗口算法
SamDeepThinking28 分钟前
秒杀系统怎么区分真实用户和黄牛脚本?
java·后端·架构