Interface ApplicationContext

All Superinterfaces:
ApplicationEventPublisher, org.springframework.beans.factory.BeanFactory, org.springframework.core.env.EnvironmentCapable, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.ListableBeanFactory, MessageSource, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver
All Known Subinterfaces:
ConfigurableApplicationContext
All Known Implementing Classes:
AbstractApplicationContext, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericXmlApplicationContext, StaticApplicationContext

public interface ApplicationContext extends org.springframework.core.env.EnvironmentCapable, org.springframework.beans.factory.ListableBeanFactory, org.springframework.beans.factory.HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, org.springframework.core.io.support.ResourcePatternResolver
Central interface to provide configuration for an application. This is read-only while the application is running, but may be reloaded if the implementation supports this.

An ApplicationContext provides:

  • Bean factory methods for accessing application components. Inherited from ListableBeanFactory.
  • The ability to load file resources in a generic fashion. Inherited from the ResourceLoader interface.
  • The ability to publish events to registered listeners. Inherited from the ApplicationEventPublisher interface.
  • The ability to resolve messages, supporting internationalization. Inherited from the MessageSource interface.
  • Inheritance from a parent context. Definitions in a descendant context will always take priority. This means, for example, that a single parent context can be used by an entire web application, while each servlet has its own child context that is independent of that of any other servlet.

In addition to standard BeanFactory lifecycle capabilities, ApplicationContext implementations detect and invoke ApplicationContextAware beans as well as ResourceLoaderAware, ApplicationEventPublisherAware and MessageSourceAware beans.

Author:
Rod Johnson, Juergen Hoeller
See Also:
  • Field Summary

    Fields inherited from interface org.springframework.beans.factory.BeanFactory

    FACTORY_BEAN_PREFIX

    Fields inherited from interface org.springframework.core.io.ResourceLoader

    CLASSPATH_URL_PREFIX

    Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver

    CLASSPATH_ALL_URL_PREFIX
  • Method Summary

    Modifier and Type
    Method
    Description
    Return a name for the deployed application that this context belongs to.
    org.springframework.beans.factory.config.AutowireCapableBeanFactory
    Expose AutowireCapableBeanFactory functionality for this context.
    Return a friendly name for this context.
    Return the unique id of this application context.
    Return the parent context, or null if there is no parent and this is the root of the context hierarchy.
    long
    Return the timestamp when this context was first loaded.

    Methods inherited from interface org.springframework.context.ApplicationEventPublisher

    publishEvent, publishEvent

    Methods inherited from interface org.springframework.beans.factory.BeanFactory

    containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch

    Methods inherited from interface org.springframework.core.env.EnvironmentCapable

    getEnvironment

    Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory

    containsLocalBean, getParentBeanFactory

    Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory

    containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation

    Methods inherited from interface org.springframework.context.MessageSource

    getMessage, getMessage, getMessage

    Methods inherited from interface org.springframework.core.io.ResourceLoader

    getClassLoader, getResource

    Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver

    getResources
  • Method Details

    • getId

      @Nullable String getId()
      Return the unique id of this application context.
      Returns:
      the unique id of the context, or null if none
    • getApplicationName

      String getApplicationName()
      Return a name for the deployed application that this context belongs to.
      Returns:
      a name for the deployed application, or the empty String by default
    • getDisplayName

      String getDisplayName()
      Return a friendly name for this context.
      Returns:
      a display name for this context (never null)
    • getStartupDate

      long getStartupDate()
      Return the timestamp when this context was first loaded.
      Returns:
      the timestamp (ms) when this context was first loaded
    • getParent

      @Nullable ApplicationContext getParent()
      Return the parent context, or null if there is no parent and this is the root of the context hierarchy.
      Returns:
      the parent context, or null if there is no parent
    • getAutowireCapableBeanFactory

      org.springframework.beans.factory.config.AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException
      Expose AutowireCapableBeanFactory functionality for this context.

      This is not typically used by application code, except for the purpose of initializing bean instances that live outside the application context, applying the Spring bean lifecycle (fully or partly) to them.

      Alternatively, the internal BeanFactory exposed by the ConfigurableApplicationContext interface offers access to the AutowireCapableBeanFactory interface too. The present method mainly serves as a convenient, specific facility on the ApplicationContext interface.

      NOTE: As of 4.2, this method will consistently throw IllegalStateException after the application context has been closed. In current Spring Framework versions, only refreshable application contexts behave that way; as of 4.2, all application context implementations will be required to comply.

      Returns:
      the AutowireCapableBeanFactory for this context
      Throws:
      IllegalStateException - if the context does not support the AutowireCapableBeanFactory interface, or does not hold an autowire-capable bean factory yet (e.g. if refresh() has never been called), or if the context has been closed already
      See Also: