一尘不染

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

java

Spring框架中Application context和bean factory的简单词义。


阅读 295

收藏
2020-12-03

共1个答案

一尘不染

BeanFactory厂

BeanFactory是初始化,配置实际的容器,并管理多个bean。这些bean通常彼此协作,因此彼此之间具有依赖性。这些依赖关系反映在所使用的配置数据中BeanFactory(尽管某些依赖关系可能不会作为配置数据可见,而是在运行时Bean之间的编程交互作用的函数)。

ApplicationContext

尽管bean软件包通常以编程方式提供了用于管理和操作Bean的基本功能,但上下文软件包增加了ApplicationContext,从而BeanFactory以更加面向框架的风格增强了功能。许多用户将以ApplicationContext完全声明性的方式使用,甚至不必手动创建它,而是依赖于支持类,例如ContextLoader在Java
EE Web应用程序正常启动过程中自动启动ApplicationContext。当然,仍然可以通过编程方式创建ApplicationContext。

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

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

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

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

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

由于ApplicationContext包括的所有功能BeanFactory,因此通常建议在上使用它BeanFactory,除非在少数情况下(例如在applet中使用),在这些情况下内存消耗可能至关重要,而额外的几千字节可能会有所作为。以下各节介绍ApplicationContext了增加基本BeanFactory功能的功能。

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

2020-12-03