这个问题已经在这里有了答案:




已关闭8年。






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

最佳答案

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

ApplicationContext

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

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

  • MessageSource,提供对i18n风格
  • 中消息的访问
  • 访问资源,例如URL和文件
  • 事件传播到实现ApplicationListener接口(interface)
  • 的bean
  • 加载多个(分层)上下文,允许每个上下文集中在一个特定的层上,例如应用程序
  • 的Web层

    由于ApplicationContext包含了BeanFactory的所有功能,因此通常建议在BeanFactory上使用它,但在少数情况下(例如在applet中,其中内存消耗可能很关键,而额外的几千字节可能使区别。以下各节描述了ApplicationContext添加到基本BeanFactory功能的功能。

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

    10-04 11:59