Class ClassPathXmlApplicationContext

All Implemented Interfaces:
Closeable, AutoCloseable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, org.springframework.core.env.EnvironmentCapable, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver

public class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext
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 AbstractRefreshableConfigApplicationContext.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.

Author:
Rod Johnson, Juergen Hoeller
See Also:
  • DefaultResourceLoader.getResource(java.lang.String)
  • DefaultResourceLoader.getResourceByPath(java.lang.String)
  • GenericApplicationContext
  • Constructor Details

    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext()
      Create a new ClassPathXmlApplicationContext for bean-style configuration.
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(ApplicationContext parent)
      Create a new ClassPathXmlApplicationContext for bean-style configuration.
      Parameters:
      parent - the parent context
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String configLocation) throws org.springframework.beans.BeansException
      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
      Parameters:
      configLocation - resource location
      Throws:
      org.springframework.beans.BeansException - if context creation failed
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String... configLocations) throws org.springframework.beans.BeansException
      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
      Parameters:
      configLocations - array of resource locations
      Throws:
      org.springframework.beans.BeansException - if context creation failed
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String[] configLocations, @Nullable ApplicationContext parent) throws org.springframework.beans.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 resource locations
      parent - the parent context
      Throws:
      org.springframework.beans.BeansException - if context creation failed
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh) throws org.springframework.beans.BeansException
      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:
      org.springframework.beans.BeansException - if context creation failed
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws org.springframework.beans.BeansException
      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:
      org.springframework.beans.BeansException - if context creation failed
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String path, Class<?> clazz) throws org.springframework.beans.BeansException
      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:
      org.springframework.beans.BeansException - if context creation failed
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String[] paths, Class<?> clazz) throws org.springframework.beans.BeansException
      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:
      org.springframework.beans.BeansException - if context creation failed
      See Also:
    • ClassPathXmlApplicationContext

      public ClassPathXmlApplicationContext(String[] paths, Class<?> clazz, @Nullable ApplicationContext parent) throws org.springframework.beans.BeansException
      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:
      org.springframework.beans.BeansException - if context creation failed
      See Also:
  • Method Details