org.springframework.context.support
abstract public class: AbstractXmlApplicationContext [javadoc |
source]
java.lang.Object
org.springframework.core.io.DefaultResourceLoader
org.springframework.context.support.AbstractApplicationContext
org.springframework.context.support.AbstractRefreshableApplicationContext
org.springframework.context.support.AbstractRefreshableConfigApplicationContext
org.springframework.context.support.AbstractXmlApplicationContext
All Implemented Interfaces:
BeanNameAware, InitializingBean, ConfigurableApplicationContext, DisposableBean, ResourceLoader
Direct Known Subclasses:
ClassPathXmlApplicationContext, FileSystemXmlApplicationContext
Convenient base class for
org.springframework.context.ApplicationContext
implementations, drawing configuration from XML documents containing bean definitions
understood by an
org.springframework.beans.factory.xml.XmlBeanDefinitionReader .
Subclasses just have to implement the #getConfigResources and/or
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.
| Methods from org.springframework.context.support.AbstractApplicationContext: |
|---|
|
addApplicationListener, addBeanFactoryPostProcessor, addListener, cancelRefresh, close, closeBeanFactory, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactory, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getResources, getStartupDate, getType, initApplicationEventMulticaster, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, refresh, refreshBeanFactory, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setId, setParent, start, stop, toString |
| Method from org.springframework.context.support.AbstractXmlApplicationContext Detail: |
protected Resource[] getConfigResources() {
return null;
}
Return an array of Resource objects, referring to the XML bean definition
files that this context should be built with.
The default implementation returns null. Subclasses can override
this to provide pre-built Resource objects rather than location Strings. |
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) {
}
Initialize the bean definition reader used for loading the bean
definitions of this context. Default implementation is empty.
Can be overridden in subclasses, e.g. for turning off XML validation
or using a different XmlBeanDefinitionParser implementation. |
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws IOException {
// Create a new XmlBeanDefinitionReader for the given BeanFactory.
XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);
// Configure the bean definition reader with this context's
// resource loading environment.
beanDefinitionReader.setResourceLoader(this);
beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this));
// Allow a subclass to provide custom initialization of the reader,
// then proceed with actually loading the bean definitions.
initBeanDefinitionReader(beanDefinitionReader);
loadBeanDefinitions(beanDefinitionReader);
}
Loads the bean definitions via an XmlBeanDefinitionReader. |
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws IOException, BeansException {
Resource[] configResources = getConfigResources();
if (configResources != null) {
reader.loadBeanDefinitions(configResources);
}
String[] configLocations = getConfigLocations();
if (configLocations != null) {
reader.loadBeanDefinitions(configLocations);
}
}
Load the bean definitions with the given XmlBeanDefinitionReader.
The lifecycle of the bean factory is handled by the #refreshBeanFactory
method; hence this method is just supposed to load and/or register bean definitions. |