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()
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoader
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
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.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
All Methods Instance Methods Concrete Methods 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.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, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setParent, setResourceLoader
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, 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, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setId, start, stop, toString
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, getProtocolResolvers, getResourceByPath
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 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
assertBeanFactoryActive
protected void assertBeanFactoryActive()
Overridden to turn it into a no-op, to be more lenient towards test cases.- Overrides:
assertBeanFactoryActive
in classAbstractApplicationContext
getStaticMessageSource
public final StaticMessageSource getStaticMessageSource()
Return the internal StaticMessageSource used by this context. Can be used to register messages on it.
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.
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.
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.
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.
addMessage
public void addMessage(String code, Locale locale, String defaultMessage)
Associate the given message with the given code.- Parameters:
code
- lookup codelocale
- locale message should be found withindefaultMessage
- message associated with this lookup code- See Also:
getStaticMessageSource()