java - Spring框架中的应用程序上下文和bean工厂是什么

标签 java spring

Possible Duplicate:
BeanFactory vs ApplicationContext

Spring框架中Application上下文和bean工厂的简单字义。

最佳答案

BeanFactory

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

ApplicationContext

虽然 beans 包提供了管理和操作 bean 的基本功能,通常以编程方式,但 context 包添加了 ApplicationContext,它在更多框架中增强了 BeanFactory 功能导向风格。许多用户会以完全声明的方式使用 ApplicationContext,甚至不必手动创建它,而是依靠诸如 ContextLoader 之类的支持类来自动启动 ApplicationContext 作为Java EE Web 应用程序的正常启动过程。当然,仍然可以通过编程方式创建 ApplicationContext。

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

  • MessageSource,提供对 i18n 风格的消息的访问

  • 访问资源,例如 URL 和文件

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

  • 加载多个(分层)上下文,允许每个上下文专注于一个特定层,例如应用程序的 Web 层

由于ApplicationContext包含了BeanFactory的所有功能,一般建议在BeanFactory之上使用,除了少数在有限的情况下,例如在小程序中,内存消耗可能很关键,额外的几千字节可能会有所作为。以下部分描述了 ApplicationContext 添加到基本 BeanFactory 功能的功能。

http://static.springsource.org/spring/docs/1.2.x/reference/beans.html

关于java - Spring框架中的应用程序上下文和bean工厂是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9568042/

相关文章:

java - 从数组中删除点并返回新数组 - Java

java - 安卓谷歌地图 : how to remove an overlay from the map?

java - Spring Boot 错误消息不起作用

java - spring如何自动使用https请求?

java - Spring中Bean未初始化

spring - 从类路径加载文件

java - Retrofit 2.0如何获得反序列化错误response.body

java - 如何分析java线程转储?

java - 如何使用 Java 找到一年中第 # 周的月份的所有周数?

java - Api 传输另一个 Api 响应