org.springframework.context.support
Class ClassPathXmlApplicationContext

java.lang.Object
  extended byorg.springframework.core.io.DefaultResourceLoader
      extended byorg.springframework.context.support.AbstractApplicationContext
          extended byorg.springframework.context.support.AbstractRefreshableApplicationContext
              extended byorg.springframework.context.support.AbstractXmlApplicationContext
                  extended byorg.springframework.context.support.ClassPathXmlApplicationContext
All Implemented Interfaces:
ApplicationContext, ApplicationEventPublisher, BeanFactory, ConfigurableApplicationContext, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver

public class ClassPathXmlApplicationContext
extends AbstractXmlApplicationContext

Standalone XML application context, taking the context definition files from the class path. Mainly useful for test harnesses, but also for application contexts embedded within JARs.

Treats resource paths as class path resources, when using getResource. Only supports full class path resource names that include the package path, like "mypackage/myresource.dat".

The config location defaults can be overridden via setConfigLocations, Config locations can either denote concrete files like "/myfiles/context.xml" or Ant-style patterns like "/myfiles/*-context.xml" (see PathMatcher javadoc for pattern details).

Note: In case of multiple config locations, later bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra XML file.

Author:
Rod Johnson, Juergen Hoeller
See Also:
DefaultResourceLoader.getResource(java.lang.String), DefaultResourceLoader.getResourceByPath(java.lang.String), PathMatchingResourcePatternResolver

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.support.ResourcePatternResolver
CLASSPATH_URL_PREFIX
 
Constructor Summary
ClassPathXmlApplicationContext(String configLocation)
          Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
ClassPathXmlApplicationContext(String[] configLocations)
          Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
ClassPathXmlApplicationContext(String[] configLocations, ApplicationContext parent)
          Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
ClassPathXmlApplicationContext(String[] configLocations, boolean refresh)
          Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.
ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent)
          Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.
 
Method Summary
protected  String[] getConfigLocations()
          Return an array of resource locations, referring to the XML bean definition files that this context should be built with.
 
Methods inherited from class org.springframework.context.support.AbstractXmlApplicationContext
initBeanDefinitionReader, loadBeanDefinitions, loadBeanDefinitions
 
Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext
createBeanFactory, getBeanFactory, refreshBeanFactory
 
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, getAliases, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getResources, 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

ClassPathXmlApplicationContext

public ClassPathXmlApplicationContext(String configLocation)
                               throws BeansException
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.

Parameters:
configLocation - file path

ClassPathXmlApplicationContext

public ClassPathXmlApplicationContext(String[] configLocations)
                               throws BeansException
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.

Parameters:
configLocations - array of file paths

ClassPathXmlApplicationContext

public ClassPathXmlApplicationContext(String[] configLocations,
                                      boolean refresh)
                               throws BeansException
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.

Parameters:
configLocations - array of file paths
refresh - whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.
See Also:
AbstractApplicationContext.refresh()

ClassPathXmlApplicationContext

public ClassPathXmlApplicationContext(String[] configLocations,
                                      ApplicationContext parent)
                               throws BeansException
Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.

Parameters:
configLocations - array of file paths
parent - the parent context

ClassPathXmlApplicationContext

public ClassPathXmlApplicationContext(String[] configLocations,
                                      boolean refresh,
                                      ApplicationContext parent)
                               throws BeansException
Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.

Parameters:
configLocations - array of file paths
refresh - whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.
parent - the parent context
See Also:
AbstractApplicationContext.refresh()
Method Detail

getConfigLocations

protected String[] getConfigLocations()
Description copied from class: AbstractXmlApplicationContext
Return an array of resource locations, referring to the XML bean definition files that this context should be built with.

Can also include location patterns, which will get resolved via a ResourcePatternResolver.

Specified by:
getConfigLocations in class AbstractXmlApplicationContext
Returns:
an array of resource locations, or null if none
See Also:
AbstractApplicationContext.getResources(java.lang.String), AbstractApplicationContext.getResourcePatternResolver()


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