什么是Spring框架中的Application上下文和bean工厂

Sus*_*ant 17 java spring

可能重复:
BeanFactory与ApplicationContext

Spring框架中应用程序上下文和bean工厂的简单词义.

Mas*_*uso 36

Bean工厂

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,除了一些有限的情况,例如可能在applet中,内存消耗可能很关键,而一些额外的千字节可能会有所不同.以下部分描述ApplicationContext了添加到基本BeanFactory功能的功能.

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

  • 嗨,我正在读一本Spring 4的书.它提到了ApplicationContext.我知道它的界面.但是,这个ApplicationContext到底是什么以及它的用途是什么(请用简单的英语)?为什么使用单词应用程序?为什么不使用SpringContext或UserContext? (4认同)