Package 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`, `org.springframework.beans.factory.BeanFactory`, `org.springframework.beans.factory.HierarchicalBeanFactory`, `org.springframework.beans.factory.ListableBeanFactory`, `org.springframework.beans.factory.support.BeanDefinitionRegistry`, `ApplicationContext`, `ApplicationEventPublisher`, `ConfigurableApplicationContext`, `Lifecycle`, `MessageSource`, `org.springframework.core.AliasRegistry`, `org.springframework.core.env.EnvironmentCapable`, `org.springframework.core.io.ResourceLoader`, `org.springframework.core.io.support.ResourcePatternResolver`

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()`

## Nested Class Summary

## Nested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoader

`org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource`

## 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.beans.factory.BeanFactory

`FACTORY_BEAN_PREFIX, FACTORY_BEAN_PREFIX_CHAR`

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

`APPLICATION_STARTUP_BEAN_NAME, BOOTSTRAP_EXECUTOR_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME`

### 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`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`addMessage(String code, Locale locale, String defaultMessage)`
Associate the given message with the given code.
`protected void`
`assertBeanFactoryActive()`
Overridden to turn it into a no-op, to be more lenient towards test cases.
`final 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, org.springframework.beans.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, org.springframework.beans.MutablePropertyValues pvs)`
Register a singleton bean with the underlying bean factory.

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

`cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanDefinitionOverridable, isBeanNameInUse, refreshBeanFactory, refreshForAotProcessing, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoader`

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

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

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

`addProtocolResolver, getProtocolResolvers, getResourceByPath, getResourceCache`

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

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

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

`getAliases`

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

`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames`

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

`addProtocolResolver`

## Constructor Details

### StaticApplicationContext

public StaticApplicationContext() throws org.springframework.beans.BeansException
Create a new StaticApplicationContext.

Throws:
  `org.springframework.beans.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(@Nullable ApplicationContext parent) throws org.springframework.beans.BeansException
Create a new StaticApplicationContext with the given parent.

Throws:
  `org.springframework.beans.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 Details

### assertBeanFactoryActive

protected void assertBeanFactoryActive()
Overridden to turn it into a no-op, to be more lenient towards test cases.

Overrides:
  `assertBeanFactoryActive` in class `AbstractApplicationContext`

### 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 org.springframework.beans.BeansException
Register a singleton bean with the underlying bean factory.

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

Throws:
  `org.springframework.beans.BeansException`
See Also:
  - `GenericApplicationContext.getDefaultListableBeanFactory()`

### registerSingleton

public void registerSingleton(String name, Class<?> clazz, org.springframework.beans.MutablePropertyValues pvs) throws org.springframework.beans.BeansException
Register a singleton bean with the underlying bean factory.

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

Throws:
  `org.springframework.beans.BeansException`
See Also:
  - `GenericApplicationContext.getDefaultListableBeanFactory()`

### registerPrototype

public void registerPrototype(String name, Class<?> clazz) throws org.springframework.beans.BeansException
Register a prototype bean with the underlying bean factory.

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

Throws:
  `org.springframework.beans.BeansException`
See Also:
  - `GenericApplicationContext.getDefaultListableBeanFactory()`

### registerPrototype

public void registerPrototype(String name, Class<?> clazz, org.springframework.beans.MutablePropertyValues pvs) throws org.springframework.beans.BeansException
Register a prototype bean with the underlying bean factory.

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

Throws:
  `org.springframework.beans.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` - the locale message should be found within
  `defaultMessage` - message associated with this lookup code
See Also:
  - `getStaticMessageSource()`