@NonNullApi @NonNullFields
See: Description
| Interface | Description | 
|---|---|
| ApplicationContext | Central interface to provide configuration for an application. | 
| ApplicationContextAware | Interface to be implemented by any object that wishes to be notified
 of the  ApplicationContextthat it runs in. | 
| ApplicationContextInitializer<C extends ConfigurableApplicationContext> | Callback interface for initializing a Spring  ConfigurableApplicationContextprior to being refreshed. | 
| ApplicationEventPublisher | Interface that encapsulates event publication functionality. | 
| ApplicationEventPublisherAware | Interface to be implemented by any object that wishes to be notified
 of the ApplicationEventPublisher (typically the ApplicationContext)
 that it runs in. | 
| ApplicationListener<E extends ApplicationEvent> | Interface to be implemented by application event listeners. | 
| ConfigurableApplicationContext | SPI interface to be implemented by most if not all application contexts. | 
| EmbeddedValueResolverAware | Interface to be implemented by any object that wishes to be notified of a
  StringValueResolverfor the resolution of embedded definition values. | 
| EnvironmentAware | Interface to be implemented by any bean that wishes to be notified
 of the  Environmentthat it runs in. | 
| HierarchicalMessageSource | Sub-interface of MessageSource to be implemented by objects that
 can resolve messages hierarchically. | 
| Lifecycle | A common interface defining methods for start/stop lifecycle control. | 
| LifecycleProcessor | Strategy interface for processing Lifecycle beans within the ApplicationContext. | 
| MessageSource | Strategy interface for resolving messages, with support for the parameterization
 and internationalization of such messages. | 
| MessageSourceAware | Interface to be implemented by any object that wishes to be notified
 of the MessageSource (typically the ApplicationContext) that it runs in. | 
| MessageSourceResolvable | Interface for objects that are suitable for message resolution in a
  MessageSource. | 
| Phased | Interface for objects that may participate in a phased
 process such as lifecycle management. | 
| ResourceLoaderAware | Interface to be implemented by any object that wishes to be notified of the
  ResourceLoader(typically the ApplicationContext) that it runs in. | 
| SmartLifecycle | An extension of the  Lifecycleinterface for those objects that require
 to be started uponApplicationContextrefresh and/or shutdown in a
 particular order. | 
| Class | Description | 
|---|---|
| ApplicationEvent | Class to be extended by all application events. | 
| PayloadApplicationEvent<T> | An  ApplicationEventthat carries an arbitrary payload. | 
| Exception | Description | 
|---|---|
| ApplicationContextException | Exception thrown during application context initialization. | 
| NoSuchMessageException | Exception thrown when a message can't be resolved. | 
There is no necessity for Spring applications to depend on ApplicationContext or even BeanFactory functionality explicitly. One of the strengths of the Spring architecture is that application objects can often be configured without any dependency on Spring-specific APIs.