|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.core.io.DefaultResourceLoader org.springframework.context.support.AbstractApplicationContext org.springframework.context.support.AbstractXmlApplicationContext
Convenient abstract superclass for ApplicationContext implementations, drawing configuration from XML documents containing bean definitions understood by an XmlBeanDefinitionParser.
Subclasses just have to implement the getConfigLocations
method. Furthermore, they might override the getResourceByPath
hook to interpret relative paths in an environment-specific fashion, and/or
getResourcePatternResolver
for extended pattern resolution.
getConfigLocations()
,
DefaultResourceLoader.getResourceByPath(java.lang.String)
,
AbstractApplicationContext.getResourcePatternResolver()
,
XmlBeanDefinitionParser
Field Summary |
Fields inherited from class org.springframework.context.support.AbstractApplicationContext |
APPLICATION_EVENT_MULTICASTER_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.core.io.ResourceLoader |
CLASSPATH_URL_PREFIX |
Constructor Summary | |
AbstractXmlApplicationContext()
Create a new AbstractXmlApplicationContext with no parent. |
|
AbstractXmlApplicationContext(ApplicationContext parent)
Create a new AbstractXmlApplicationContext with the given parent context. |
Method Summary | |
protected DefaultListableBeanFactory |
createBeanFactory()
Create the bean factory for this context. |
ConfigurableListableBeanFactory |
getBeanFactory()
Subclasses must return their internal bean factory here. |
protected abstract String[] |
getConfigLocations()
Return an array of resource locations, referring to the XML bean definition files that this context should be built with. |
protected void |
initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
Initialize the bean definition reader used for loading the bean definitions of this context. |
protected void |
loadBeanDefinitions(XmlBeanDefinitionReader reader)
Load the bean definitions with the given XmlBeanDefinitionReader. |
protected void |
refreshBeanFactory()
Subclasses must implement this method to perform the actual configuration load. |
Methods inherited from class org.springframework.context.support.AbstractApplicationContext |
addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, getAliases, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeansOfType, getBeansOfType, getDisplayName, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, isSingleton, onRefresh, postProcessBeanFactory, publishEvent, refresh, setDisplayName, setParent, toString |
Methods inherited from class org.springframework.core.io.DefaultResourceLoader |
getClassLoader, getResource, 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.io.ResourceLoader |
getResource |
Constructor Detail |
public AbstractXmlApplicationContext()
public AbstractXmlApplicationContext(ApplicationContext parent)
parent
- the parent contextMethod Detail |
protected final void refreshBeanFactory() throws BeansException
AbstractApplicationContext
A subclass will either create a new bean factory and hold a reference to it, or return a single bean factory instance that it holds. In the latter case, it will usually throw an IllegalStateException if refreshing the context more than once.
refreshBeanFactory
in class AbstractApplicationContext
BeansException
- if initialization of the bean factory failedAbstractApplicationContext.refresh()
public final ConfigurableListableBeanFactory getBeanFactory()
AbstractApplicationContext
getBeanFactory
in interface ConfigurableApplicationContext
getBeanFactory
in class AbstractApplicationContext
AbstractApplicationContext.refresh()
protected DefaultListableBeanFactory createBeanFactory()
Default implementation creates a DefaultListableBeanFactory with the internal bean factory of this context's parent as parent bean factory.
Can be overridden in subclasses.
DefaultListableBeanFactory
,
AbstractApplicationContext.getInternalParentBeanFactory()
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
Can be overridden in subclasses, e.g. for turning off XML validation or using a different XmlBeanDefinitionParser implementation.
beanDefinitionReader
- the bean definition reader used by this contextXmlBeanDefinitionReader.setValidating(boolean)
,
XmlBeanDefinitionReader.setParserClass(java.lang.Class)
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException
The lifecycle of the bean factory is handled by the refreshBeanFactory method; therefore this method is just supposed to load and/or register bean definitions.
Delegates to a ResourcePatternResolver for resolving location patterns into Resource instances.
BeansException
- in case of bean registration errors
IOException
- if the required XML document isn't foundrefreshBeanFactory()
,
getConfigLocations()
,
AbstractApplicationContext.getResourcePatternResolver()
protected abstract String[] getConfigLocations()
Can also include location patterns, which will get resolved via a ResourcePatternResolver.
AbstractApplicationContext.getResourcePatternResolver()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |