当前位置: 首页 > news >正文

BeanFactory与ApplicationContext的关系

对比 

1:BeanFactory是Spring的早期接口,称为Spring的Bean工厂,ApplicationContext是后期更高级接口,称之为Spring 容器;
2:ApplicationContext在BeanFactory基础上对功能进行了扩展,例如:监听功能、国际化、资源解析功能等。BeanFactory的API更偏向底层,ApplicationContext的API大多数是对这些底层API的封装;
3:Bean创建的主要逻辑和功能都被封装在BeanFactory中,ApplicationContext不仅继承了BeanFactory,而且ApplicationContext内部还维护着BeanFactory的引用,所以,ApplicationContext与BeanFactory既有继承关系,又有融合关系。
4:Bean的初始化时机不同,原始BeanFactory是在首次调用getBean时才进行Bean的创建,而ApplicationContext则是配置文件加载,容器-创建就将Bean都实例化并初始化好了。

BeanFactory

BeanFactory是Spring框架的核心接口之一,它定义了Spring容器的基本行为,负责管理Bean的生命周期、配置元数据和依赖注入。BeanFactory的主要功能包括:

Bean的实例化和管理:BeanFactory负责创建、初始化和管理Bean的生命周期。它会根据配置文件中定义的Bean定义来创建Bean的实例。
依赖注入:BeanFactory负责解决Bean之间的依赖关系,确保每个Bean都能获取它所依赖的其他Bean。
配置元数据的管理:BeanFactory会读取和管理应用程序的配置元数据,通常以XML、注解或Java配置的方式定义Bean及其属性。
延迟初始化:BeanFactory支持延迟初始化,即只有在需要时才创建Bean实例。
AOP支持:BeanFactory支持面向切面编程(AOP),允许在Bean的生命周期中应用切面。 

BeanFactory的子类

DefaultListableBeanFactory:DefaultListableBeanFactory是BeanFactory接口的主要实现,它是Spring IoC容器的核心,负责管理Bean的生命周期、依赖注入、AOP支持等。它支持各种不同的Bean定义来源,包括XML、注解和Java配置。
ApplicationContext:ApplicationContext是BeanFactory的子类,它是更高级的Spring容器。它扩展了BeanFactory的功能,提供了更多的应用级功能,如国际化、事件传播、资源加载、应用上下文层次结构等。这个类是我们最熟悉的类,也是spring的核心。 

 

 


http://www.mrgr.cn/news/63307.html

相关文章:

  • 【OccNeRF: Advancing 3D Occupancy Prediction in LiDAR-Free Environments】阅读笔记
  • C#入坑JAVA MyBatis入门 CURD 批量 联表分页查询
  • HTML 标签全解析:从基础到高级
  • 速盾:海外cdn高防
  • 探索Python文档自动化的奥秘:揭开docxtpl库的神秘面纱
  • 使用GetX实现GetPage中间件
  • CVPR2024:完全测试时域适应​​​​(Test-time Adaptation)的目标检测
  • k8s 小版本升级
  • C++类和对象上
  • qt QToolBar详解
  • 测试人必会 K8S 操作之 Dashboard
  • 最经典知识库问答数据集
  • 【Golang】Gin框架中如何使用JWT来实现登录认证
  • 计算机视觉-显著性检测实验报告
  • MySQL的常用命令
  • ThreeJs绘制手串
  • [KTM2802-FP6]气缸位置检测芯片,支持两线/三线气缸位置检测,将AMR传感器和ASIC集成在一个芯片中,国产品牌可信赖
  • GBDT 算法的原理推导
  • 【综合算法学习】(第十三篇)
  • java枚举高级用法
  • Ubuntu20.04版本安装pytorch(宝宝级攻略)
  • FineReport 超级链接
  • 入行网络安全需要学习哪些知识点?白帽子佬都给你汇总在这里,一文全懂_网络安全入门应该学什么
  • huggingface利用bert-base-chinese实现中文情感分类
  • 从倍压整流到二极管钳位与限幅
  • Agent 大模型与应用场景之间的桥梁