首页 > 其他分享 >BeanFactory 和 ApplicationContext 的区别

BeanFactory 和 ApplicationContext 的区别

时间:2024-10-26 08:50:14浏览次数:1  
标签:ApplicationContext 区别 容器 Spring BeanFactory springframework Framework

这是 Spring Framework 对 ApplicationContext 的解释:

The org.springframework.context.ApplicationContext interface represents the Spring IoC container and is responsible for instantiating, configuring, and assembling the beans. 

ApplicationContext 代表 Spring 的 IOC 容器,负责实例化、配置和组装 bean。

Spring Framework 把 ApplicationContext 称为容器,其实不是太准确,真正的容器应该是 org.springframework.beans.factory.BeanFactory,不过 ApplicationContext 是 BeanFactory 的子接口,并提供 AutowireCapableBeanFactory 的引用,这样 ApplicationContext 就拥有了 Bean 读取和装载的能力,因此,一般也笼统的称 ApplicationContext 为容器

再回到区别上来,这是 Spring Framework 的描述:

In short, the BeanFactory provides the configuration framework and basic functionality, and the ApplicationContext adds more enterprise-specific functionality. 
public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory,
		MessageSource, ApplicationEventPublisher, ResourcePatternResolver {
}

可以看到 ApplicationContext 还扩展了其它接口,提供了其它功能:

  • 通过 MessageSource 提供 i18n 国际化支持;
  • 通过 ResourceLoader 提供资源的加载,比如 class path 或系统资源;
  • 通过 ApplicationEventPublisher 对实现了 ApplicationListener 的 bean 进行事件通知;
  • 通过 HierarchicalBeanFactory 加载多个上下文;

标签:ApplicationContext,区别,容器,Spring,BeanFactory,springframework,Framework
From: https://www.cnblogs.com/jmcui/p/18503590

相关文章

  • JVM、JDK、JRE的区别是什么
    在探讨Java编程语言及其环境时,我们会经常遇到JVM、JDK、JRE这三个词。每个词都有自己特定的定义和角色。让我们详细了解一下这三者之间的区别。Java虚拟机(JVM)是Java平台的一部分,负责执行Java字节码。Java运行环境(JRE)是运行Java程序所需的环境。Java开发工具包(JDK)是Java的开发环境......
  • 苹果原彩显示开与不开有什么区别
    苹果原彩显示的技术旨在根据周围环境提供最佳的屏幕显示效果。开启与不开启之间的差异包括:1.视觉体验的变化;2.对眼睛的影响;3.电池消耗;4.内容创作和展示;5.在不同环境中的适应性;6.与夜间模式的关系;7.技术背后的原理。1.视觉体验的变化开启原彩显示时,屏幕会自动调整颜色以匹配周......
  • 公共云和私有云在云计算中有什么区别
    PublicCloud和PrivateCloud在云计算中的区别:1.申请主体不同;2.服务范围不同;3.安全性机制不同;4.定制选项不同;5.费用结构不同。PublicCloud和PrivateCloud是云计算中两种主要的部署模型,它们在服务范围、安全性、定制性、成本等方面存在显著差异。1.申请主体不同PublicCloud......
  • 相关请求参数的区别
    在前端开发中,params参数和path参数是两种常见的用于向后端发送数据的方式。以下是对这两种参数的详细解释以及后端如何获取它们,同时也会介绍如何使用axios从前端传递数据到后端的req.body。Path参数定义:Path参数是URL路径的一部分,通常用于标识资源的唯一性或特......
  • 技术专家和技术顾问之间有何区别
    ​​技术专家和技术顾问之间的区别:1.职责范围不同;2.工作方式不同;3.合作关系不同;4.经济报酬不同。技术专家通常指的是在特定技术领域内具有深厚知识和丰富实践经验的人员,而技术顾问则是提供专业技术咨询和解决方案的专业人士。技术专家往往是某一领域的“内行”,而技术顾问则多作为......
  • 网络科技和信息科技的区别是什么
    ​​网络科技和信息科技的区别:1.定义与侧重点不同;2.应用领域不同;3.技术内容不同;4.专业知识和技能要求不同。网络科技更多关注于数据传输、网络通信、以及基于互联网的各种服务和应用的开发,而信息科技则包括了信息的收集、处理、存储、传递、分析和使用。1.定义与侧重点不同网......
  • OLED和LCD显示屏有什么区别_1
    OLED(有机发光二极管)和LCD(液晶显示屏)是两种主流的显示技术,它们的差异包括:1.发光原理不同;2.对比度和颜色表现;3.灵活性和制造工艺;4.寿命和耗能;5.成本和市场应用。本文深入比较OLED和LCD的特点,包括发光原理、对比度、灵活性等,以帮助读者更好地了解这两种显示屏技术的异同,为购买......
  • 战术性胜利和战略性胜利区别在哪
    战术性胜利和战略性胜利是军事学和商业战略中常用的两个术语,两者主要的区别包括:1.定义和范围;2.时间维度;3.实施层面;4.影响深度;5.资源分配;6.决策过程。其中,最核心的区别在于战术性胜利注重短期、局部的优势,而战略性胜利关注长期、全局的胜出。1.定义和范围战术性胜利通常指在特......
  • 手机有HiFi与无HiFi有什么区别
    手机音频领域的HiFi(高保真)技术日益受到关注,但很多用户对HiFi的理解仍有疑虑。本文将深入探讨手机有HiFi与无HiFi的区别,包括:1.HiFi技术原理;2.音质感知;3.设备需求;4.音频源的选择。1.HiFi技术原理手机有HiFi和无HiFi的关键差异在于音频处理技术。有HiFi的手机采用高保真音频处理......
  • 英特尔的快速存储技术和苹果的Fushion Drive有什么区别
    在提升计算机系统存储性能的探索中,英特尔的快速存储技术(IntelRapidStorageTechnology,RST)与苹果的FusionDrive代表了两种不同的技术路径。英特尔的RST是一种存储性能加速技术,通过缓存机制优化传统硬盘与固态硬盘的数据读写。而苹果的FusionDrive则是一种混合存储解决方案,它......