public class

ClassPathXmlApplicationContext

extends AbstractXmlApplicationContext
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
             ↳ org.springframework.context.support.ClassPathXmlApplicationContext

Class Overview

Standalone XML application context, taking the context definition files from the class path, interpreting plain paths as class path resource names that include the package path (e.g. "mypackage/myresource.txt"). Useful for test harnesses as well as for application contexts embedded within JARs.

The config location defaults can be overridden via getConfigLocations(), Config locations can either denote concrete files like "/myfiles/context.xml" or Ant-style patterns like "/myfiles/*-context.xml" (see the AntPathMatcher 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.

This is a simple, one-stop shop convenience ApplicationContext. Consider using the GenericApplicationContext class in combination with an XmlBeanDefinitionReader for more flexible context setup.

Summary

[Expand]
Inherited Constants
From class org.springframework.context.support.AbstractApplicationContext
From interface org.springframework.beans.factory.BeanFactory
From interface org.springframework.context.ConfigurableApplicationContext
From interface org.springframework.core.io.ResourceLoader
From interface org.springframework.core.io.support.ResourcePatternResolver
[Expand]
Inherited Fields
From class org.springframework.context.support.AbstractApplicationContext
Public Constructors
ClassPathXmlApplicationContext()
Create a new ClassPathXmlApplicationContext for bean-style configuration.
ClassPathXmlApplicationContext(ApplicationContext parent)
Create a new ClassPathXmlApplicationContext for bean-style configuration.
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.
ClassPathXmlApplicationContext(String path, Class clazz)
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
ClassPathXmlApplicationContext(String[] paths, Class clazz)
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
ClassPathXmlApplicationContext(String[] paths, Class clazz, ApplicationContext parent)
Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
Protected Methods
Resource[] getConfigResources()
Return an array of Resource objects, referring to the XML bean definition files that this context should be built with.
[Expand]
Inherited Methods
From class org.springframework.context.support.AbstractXmlApplicationContext
From class org.springframework.context.support.AbstractRefreshableConfigApplicationContext
From class org.springframework.context.support.AbstractRefreshableApplicationContext
From class org.springframework.context.support.AbstractApplicationContext
From class org.springframework.core.io.DefaultResourceLoader
From class java.lang.Object
From interface org.springframework.beans.factory.BeanFactory
From interface org.springframework.beans.factory.BeanNameAware
From interface org.springframework.beans.factory.DisposableBean
From interface org.springframework.beans.factory.HierarchicalBeanFactory
From interface org.springframework.beans.factory.InitializingBean
From interface org.springframework.beans.factory.ListableBeanFactory
From interface org.springframework.context.ApplicationContext
From interface org.springframework.context.ApplicationEventPublisher
From interface org.springframework.context.ConfigurableApplicationContext
From interface org.springframework.context.Lifecycle
From interface org.springframework.context.MessageSource
From interface org.springframework.core.env.EnvironmentCapable
From interface org.springframework.core.io.ResourceLoader
From interface org.springframework.core.io.support.ResourcePatternResolver

Public Constructors

public ClassPathXmlApplicationContext ()

Create a new ClassPathXmlApplicationContext for bean-style configuration.

public ClassPathXmlApplicationContext (ApplicationContext parent)

Create a new ClassPathXmlApplicationContext for bean-style configuration.

Parameters
parent the parent context

public ClassPathXmlApplicationContext (String configLocation)

Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.

Parameters
configLocation resource location
Throws
BeansException if context creation failed

public ClassPathXmlApplicationContext (String... configLocations)

Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.

Parameters
configLocations array of resource locations
Throws
BeansException if context creation failed

public 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.

Parameters
configLocations array of resource locations
parent the parent context
Throws
BeansException if context creation failed

public ClassPathXmlApplicationContext (String[] configLocations, boolean refresh)

Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.

Parameters
configLocations array of resource locations
refresh whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.
Throws
BeansException if context creation failed
See Also

public ClassPathXmlApplicationContext (String[] configLocations, boolean refresh, ApplicationContext parent)

Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.

Parameters
configLocations array of resource locations
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
Throws
BeansException if context creation failed
See Also

public ClassPathXmlApplicationContext (String path, Class clazz)

Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.

This is a convenience method to load class path resources relative to a given Class. For full flexibility, consider using a GenericApplicationContext with an XmlBeanDefinitionReader and a ClassPathResource argument.

Parameters
path relative (or absolute) path within the class path
clazz the class to load resources with (basis for the given paths)
Throws
BeansException if context creation failed

public ClassPathXmlApplicationContext (String[] paths, Class clazz)

Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.

Parameters
paths array of relative (or absolute) paths within the class path
clazz the class to load resources with (basis for the given paths)
Throws
BeansException if context creation failed

public ClassPathXmlApplicationContext (String[] paths, Class clazz, ApplicationContext parent)

Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.

Parameters
paths array of relative (or absolute) paths within the class path
clazz the class to load resources with (basis for the given paths)
parent the parent context
Throws
BeansException if context creation failed

Protected Methods

protected Resource[] getConfigResources ()

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.

Returns
  • an array of Resource objects, or null if none