Spring源码之ApplicationContext
ApplicationContext
所有父级接口
ApplicationEventPublisher,BeanFactory,EnvironmentCapable,HierarchicalBeanFactory,ListableBeanFactory,MessageSource,ResourceLoader,ResourcePatternResolver
所有已知子接口
ConfigurableApplicationContext,ConfigurableWebApplicationContext,WebApplicationContext
所有已知实现类
AbstractApplicationContext, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, GroovyWebApplicationContext, ResourceAdapterApplicationContext, StaticApplicationContext, StaticWebApplicationContext, XmlWebApplicationContext
公共接口ApplicationContext
扩展了EnvironmentCapable,ListableBeanFactory,HierarchicalBeanFactory,MessageSource,ApplicationEventPublisher,ResourcePatternResolver
中央接口,为应用程序提供配置。在应用程序运行时,它是只读的,但是如果实现支持,则可以重新加载。
ApplicationContext提供
- 用于访问应用程序组件的Bean工厂方法。继承自ListableBeanFactory。
- 以通用方式加载文件资源的能力。从ResourceLoader接口继承。
- 将事件发布给注册的侦听器的能力。从ApplicationEventPublisher接口继承。
- 解决消息的能力,支持国际化。从MessageSource接口继承。
- 从父上下文继承。在后代上下文中的定义将始终优先。例如,这意味着整个Web应用程序都可以使用单个父上下文,而每个servlet都有其自己的子上下文,该子上下文独立于任何其他servlet的子上下文。
除了标准的BeanFactory 生命周期的能力,ApplicationContext实现检测和调用 ApplicationContextAware Bean类以及ResourceLoaderAware, ApplicationEventPublisherAware和MessageSourceAware Bean类。
推荐看看:
ConfigurableApplicationContext, BeanFactory, ResourceLoader
字段摘要
继承自 org.springframework.beans.factory.BeanFactory 接口
FACTORY_BEAN_PREFIX
继承自 org.springframework.core.io.support.ResourcePatternResolver 接口
CLASSPATH_ALL_URL_PREFIX
继承自 org.springframework.core.io.ResourceLoader 接口
CLASSPATH_URL_PREFIX