Java 什么是spring框架中的应用程序上下文和bean工厂

Java 什么是spring框架中的应用程序上下文和bean工厂,java,spring,Java,Spring,可能重复: spring框架中应用程序上下文和bean工厂的简单单词含义。BeanFactory BeanFactory是实例化、配置和管理大量bean的实际容器。这些bean通常相互协作,因此它们之间存在依赖关系。这些依赖关系反映在BeanFactory使用的配置数据中(尽管有些依赖关系可能不作为配置数据可见,而是运行时Bean之间编程交互的函数) ApplicationContext 虽然beans包提供了管理和操作Bean的基本功能(通常是以编程方式),但上下文包添加了Applicati

可能重复:


spring框架中应用程序上下文和bean工厂的简单单词含义。

BeanFactory

BeanFactory
是实例化、配置和管理大量bean的实际容器。这些bean通常相互协作,因此它们之间存在依赖关系。这些依赖关系反映在
BeanFactory
使用的配置数据中(尽管有些依赖关系可能不作为配置数据可见,而是运行时Bean之间编程交互的函数)

ApplicationContext

虽然beans包提供了管理和操作Bean的基本功能(通常是以编程方式),但上下文包添加了
ApplicationContext
,以更面向框架的方式增强了
BeanFactory
功能。许多用户将以完全声明的方式使用
ApplicationContext
,甚至不必手动创建,而是依赖
ContextLoader
等支持类自动启动ApplicationContext,作为Java EE web应用程序正常启动过程的一部分。当然,仍然可以通过编程方式创建ApplicationContext

上下文包的基础是
ApplicationContext
接口,位于
org.springframework.context
包中。源于
BeanFactory
接口,它提供了
BeanFactory
的所有功能。为了允许以更面向框架的方式工作,使用分层和分层上下文,上下文包还提供以下内容:

  • MessageSource,提供对i18n样式的消息的访问

  • 对资源(如URL和文件)的访问

  • 事件传播到实现ApplicationListener接口的bean

  • 加载多个(分层)上下文,允许每个上下文都集中在一个特定的层上,例如应用程序的web层

由于
ApplicationContext
包含
BeanFactory
的所有功能,因此通常建议在
BeanFactory
上使用它,但在一些有限的情况下除外,例如在小程序中,内存消耗可能非常关键,额外的几KB可能会产生影响。以下各节介绍了
ApplicationContext
添加到基本
BeanFactory
功能中的功能


嗨,我正在读一本Spring 4的书。它提到ApplicationContext。我知道这是一个界面。但是,这个应用程序上下文到底是什么?它的用途是什么(请用简单的英语)?为什么使用application这个词?为什么不使用SpringContext或UserContext?@Borat Sagdiyev我希望这会对你有所帮助。这是迄今为止我所找到的最简单、最好的解释-