org.springframework.context.support

## Class StaticApplicationContext

- java.lang.Object
- - org.springframework.core.io.DefaultResourceLoader
  - - org.springframework.context.support.AbstractApplicationContext
    - - org.springframework.context.support.GenericApplicationContext
      - - org.springframework.context.support.StaticApplicationContext

All Implemented Interfaces:
  Closeable, AutoCloseable, BeanFactory, DisposableBean, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, EnvironmentCapable, ResourceLoader, ResourcePatternResolver

Direct Known Subclasses:
  StaticPortletApplicationContext, StaticWebApplicationContext

    public class StaticApplicationContext
    extends GenericApplicationContext

`ApplicationContext` implementation which supports programmatic registration of beans and messages, rather than reading bean definitions from external configuration sources. Mainly useful for testing.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `registerSingleton(java.lang.String, java.lang.Class)`, `registerPrototype(java.lang.String, java.lang.Class)`, `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

### Field Summary

### Fields inherited from class org.springframework.context.support.AbstractApplicationContext

`APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME`

### Fields inherited from interface org.springframework.context.ConfigurableApplicationContext

`CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME`

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

`FACTORY_BEAN_PREFIX`

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

`CLASSPATH_ALL_URL_PREFIX`

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

`CLASSPATH_URL_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`StaticApplicationContext()` Create a new StaticApplicationContext.
`StaticApplicationContext(ApplicationContext parent)` Create a new StaticApplicationContext with the given parent.

### Method Summary

Methods
`void` `addMessage(String code, Locale locale, String defaultMessage)` Associate the given message with the given code.
`StaticMessageSource` `getStaticMessageSource()` Return the internal StaticMessageSource used by this context.
`void` `registerPrototype(String name, Class clazz)` Register a prototype bean with the underlying bean factory.
`void` `registerPrototype(String name, Class clazz, MutablePropertyValues pvs)` Register a prototype bean with the underlying bean factory.
`void` `registerSingleton(String name, Class clazz)` Register a singleton bean with the underlying bean factory.
`void` `registerSingleton(String name, Class clazz, MutablePropertyValues pvs)` Register a singleton bean with the underlying bean factory.

### Methods inherited from class org.springframework.context.support.GenericApplicationContext

`cancelRefresh, closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setId, setParent, setResourceLoader`

### Methods inherited from class org.springframework.context.support.AbstractApplicationContext

`addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, start, stop, toString`

### Methods inherited from class org.springframework.core.io.DefaultResourceLoader

`getClassLoader, getResourceByPath, setClassLoader`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry

`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames`

### Methods inherited from interface org.springframework.core.AliasRegistry

`getAliases`

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

`getClassLoader`

### Constructor Detail

#### StaticApplicationContext

    public StaticApplicationContext()
                             throws BeansException

Create a new StaticApplicationContext.

Throws:
  `BeansException`
See Also:
  `registerSingleton(java.lang.String, java.lang.Class)`, `registerPrototype(java.lang.String, java.lang.Class)`, `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

#### StaticApplicationContext

    public StaticApplicationContext(ApplicationContext parent)
                             throws BeansException

Create a new StaticApplicationContext with the given parent.

Throws:
  `BeansException`
See Also:
  `registerSingleton(java.lang.String, java.lang.Class)`, `registerPrototype(java.lang.String, java.lang.Class)`, `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

### Method Detail

#### getStaticMessageSource

    public final StaticMessageSource getStaticMessageSource()

Return the internal StaticMessageSource used by this context. Can be used to register messages on it.

See Also:
  `addMessage(java.lang.String, java.util.Locale, java.lang.String)`

#### registerSingleton

    public void registerSingleton(String name,
                         Class clazz)
                           throws BeansException

Register a singleton bean with the underlying bean factory.

For more advanced needs, register with the underlying BeanFactory directly.

Throws:
  `BeansException`
See Also:
  `GenericApplicationContext.getDefaultListableBeanFactory()`

#### registerSingleton

    public void registerSingleton(String name,
                         Class clazz,
                         MutablePropertyValues pvs)
                           throws BeansException

Register a singleton bean with the underlying bean factory.

For more advanced needs, register with the underlying BeanFactory directly.

Throws:
  `BeansException`
See Also:
  `GenericApplicationContext.getDefaultListableBeanFactory()`

#### registerPrototype

    public void registerPrototype(String name,
                         Class clazz)
                           throws BeansException

Register a prototype bean with the underlying bean factory.

For more advanced needs, register with the underlying BeanFactory directly.

Throws:
  `BeansException`
See Also:
  `GenericApplicationContext.getDefaultListableBeanFactory()`

#### registerPrototype

    public void registerPrototype(String name,
                         Class clazz,
                         MutablePropertyValues pvs)
                           throws BeansException

Register a prototype bean with the underlying bean factory.

For more advanced needs, register with the underlying BeanFactory directly.

Throws:
  `BeansException`
See Also:
  `GenericApplicationContext.getDefaultListableBeanFactory()`

#### addMessage

    public void addMessage(String code,
                  Locale locale,
                  String defaultMessage)

Associate the given message with the given code.

Parameters:
  `code` - lookup code
  `locale` - locale message should be found within
  `defaultMessage` - message associated with this lookup code
See Also:
  `getStaticMessageSource()`