Spring框架中应用程序上下文和bean工厂的简单含义。
答案 0 :(得分:34)
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-style
访问资源,例如网址和文件
事件传播到实现ApplicationListener接口的bean
加载多个(分层)上下文,允许每个上下文集中在一个特定图层上,例如应用程序的Web图层
由于ApplicationContext
包含BeanFactory
的所有功能,因此通常建议在BeanFactory
上使用它,除了一些有限的情况,例如可能在applet中,内存消耗可能很关键,而一些额外的千字节可能会有所不同。以下部分介绍了ApplicationContext
添加到基本BeanFactory
功能的功能。
http://static.springsource.org/spring/docs/1.2.x/reference/beans.html