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

相关推荐
plainGeekDev几秒前
网络状态监听 → ConnectivityManager + Flow
android·java·kotlin
devilnumber几秒前
Java 迭代器(Iterator)完全指南:从入门到实战
java·开发语言·迭代器
qq_195821653 分钟前
6. 应用层协议实现:CoE协议栈集成、对象字典配置、PDO映射
java·服务器·网络
弹简特6 分钟前
【Java项目-轻聊】10-实现会话管理模块
java·开发语言·数据库
人道领域7 分钟前
Java后端开发者转型AIAgent开发路线指南
java·开发语言
许彰午9 分钟前
36_Java设计模式之代理模式
java·设计模式·代理模式
盒马盒马10 分钟前
Rust:String
java·前端·rust
许彰午11 分钟前
35_Java设计模式之工厂模式
java·开发语言·设计模式
凡人叶枫14 分钟前
Effective C++ 条款32:确定你的 public 继承塑模出 is-a(是一种)关系
java·linux·开发语言·c++·嵌入式开发
小杨互联网17 分钟前
Jar反编译逆向2.0教程实战
java·jar·java反编译·jar反编译·java逆向·源码还原