org.springframework.context.support
Class AbstractXmlApplicationContext

java.lang.Object
  extended byorg.springframework.core.io.DefaultResourceLoader
      extended byorg.springframework.context.support.AbstractApplicationContext
          extended byorg.springframework.context.support.AbstractXmlApplicationContext
All Implemented Interfaces:
ApplicationContext, BeanFactory, ConfigurableApplicationContext, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader
Direct Known Subclasses:
ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, XmlWebApplicationContext

public abstract class AbstractXmlApplicationContext
extends AbstractApplicationContext

Convenient abstract superclass for ApplicationContext implementations drawing their configuration from XML documents containing bean definitions understood by an XmlBeanDefinitionParser.

Version:
$Revision: 1.11 $
Author:
Rod Johnson, Juergen Hoeller
See Also:
XmlBeanDefinitionParser

Field Summary
 
Fields inherited from class org.springframework.context.support.AbstractApplicationContext
logger, MESSAGE_SOURCE_BEAN_NAME
 
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  java.lang.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, getDisplayName, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, isSingleton, onRefresh, postProcessBeanFactory, publishEvent, refresh, setDisplayName, setParent, toString
 
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
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

AbstractXmlApplicationContext

public AbstractXmlApplicationContext()
Create a new AbstractXmlApplicationContext with no parent.


AbstractXmlApplicationContext

public AbstractXmlApplicationContext(ApplicationContext parent)
Create a new AbstractXmlApplicationContext with the given parent context.

Parameters:
parent - the parent context
Method Detail

refreshBeanFactory

protected void refreshBeanFactory()
                           throws BeansException
Description copied from class: AbstractApplicationContext
Subclasses must implement this method to perform the actual configuration load. The method is invoked by refresh before any other initialization work.

Specified by:
refreshBeanFactory in class AbstractApplicationContext
Throws:
BeansException
See Also:
AbstractApplicationContext.refresh()

createBeanFactory

protected DefaultListableBeanFactory createBeanFactory()
Create the bean factory for this context. Default implementation creates a DefaultListableBeanFactory with this context's parent as parent bean factory. Can be overridden in subclasses.

Returns:
the bean factory for this context
See Also:
DefaultListableBeanFactory

getBeanFactory

public ConfigurableListableBeanFactory getBeanFactory()
Description copied from class: AbstractApplicationContext
Subclasses must return their internal bean factory here. They should implement the lookup efficiently, so that it can be called repeatedly without a performance penalty.

Specified by:
getBeanFactory in interface ConfigurableApplicationContext
Specified by:
getBeanFactory in class AbstractApplicationContext
Returns:
this application context's internal bean factory

initBeanDefinitionReader

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.

Parameters:
beanDefinitionReader - the bean definition reader used by this context
See Also:
XmlBeanDefinitionReader.setValidating(boolean), XmlBeanDefinitionReader.setParserClass(java.lang.Class)

loadBeanDefinitions

protected void loadBeanDefinitions(XmlBeanDefinitionReader reader)
                            throws BeansException,
                                   java.io.IOException
Load the bean definitions with the given XmlBeanDefinitionReader.

The lifecycle of the bean factory is handled by refreshBeanFactory; therefore this method is just supposed to load and/or register bean definitions.

Throws:
BeansException - in case of bean registration errors
java.io.IOException - if the required XML document isn't found
See Also:
refreshBeanFactory()

getConfigLocations

protected abstract java.lang.String[] getConfigLocations()
Return an array of resource locations, referring to the XML bean definition files that this context should be built with.

Returns:
an array of resource locations, or null if none


Copyright (C) 2003-2004 The Spring Framework Project.