3.15 ApplicationContext 的附加功能
正如在章节介绍中讨论的,org.springframework.beans.factory
包提供了用于管理和操作bean的基本功能,包括以编程方式。org.springframework.context
包增加了ApplicationContext
接口,它继承了BeanFactory接口,除了扩展其他接口外还提供更多的application framework-oriented style(面向应用程序框架的风格)的附加功能。许多人通过完全声明的方式使用ApplicationContext
,甚至不是以编程方式创建它,而是依赖于诸如ContextLoader
这样的支持类来自动实例化ApplicationContext
,并将它作为 Java EE web 应用程序的普通启动过程的一部分。
为了以更加面向框架的方式增强BeanFactory的功能,上下文包还提供了以下功能:
- 通过
MessageSource
接口访问i18n-style
中的消息。 - 通过
ResourceLoader
接口访问资源,例如URL和文件。 - 事件发布,即通过使用
ApplicationEventPublisher
接口给实现了ApplicationListener
接口的bean发布事件。 - 通过
HierarchicalBeanFactory
接口,加载多级contexts,允许关注某一层级context,比如应用的web层。