Class GenericXmlApplicationContext

All Implemented Interfaces:
Closeable, AutoCloseable, BeanFactory, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, EnvironmentCapable, ResourceLoader, ResourcePatternResolver

public class GenericXmlApplicationContext extends GenericApplicationContext
Convenient application context with built-in XML support. This is a flexible alternative to ClassPathXmlApplicationContext and FileSystemXmlApplicationContext, to be configured via setters, with an eventual AbstractApplicationContext.refresh() call activating the context.

In case of multiple configuration files, bean definitions in later files will override those defined in earlier files. This can be leveraged to intentionally override certain bean definitions via an extra configuration file appended to the list.

Since:
3.0
Author:
Juergen Hoeller, Chris Beams
See Also:
  • Constructor Details

    • GenericXmlApplicationContext

      public GenericXmlApplicationContext()
      Create a new GenericXmlApplicationContext that needs to be loaded and then manually refreshed.
    • GenericXmlApplicationContext

      public GenericXmlApplicationContext(Resource... resources)
      Create a new GenericXmlApplicationContext, loading bean definitions from the given resources and automatically refreshing the context.
      Parameters:
      resources - the resources to load from
    • GenericXmlApplicationContext

      public GenericXmlApplicationContext(String... resourceLocations)
      Create a new GenericXmlApplicationContext, loading bean definitions from the given resource locations and automatically refreshing the context.
      Parameters:
      resourceLocations - the resources to load from
    • GenericXmlApplicationContext

      public GenericXmlApplicationContext(Class<?> relativeClass, String... resourceNames)
      Create a new GenericXmlApplicationContext, loading bean definitions from the given resource locations and automatically refreshing the context.
      Parameters:
      relativeClass - class whose package will be used as a prefix when loading each specified resource name
      resourceNames - relatively-qualified names of resources to load
  • Method Details

    • getReader

      public final XmlBeanDefinitionReader getReader()
      Exposes the underlying XmlBeanDefinitionReader for additional configuration facilities and loadBeanDefinition variations.
    • setValidating

      public void setValidating(boolean validating)
      Set whether to use XML validation. Default is true.
    • setEnvironment

      public void setEnvironment(ConfigurableEnvironment environment)
      Delegates the given environment to underlying XmlBeanDefinitionReader. Should be called before any call to #load.
      Specified by:
      setEnvironment in interface ConfigurableApplicationContext
      Overrides:
      setEnvironment in class AbstractApplicationContext
      Parameters:
      environment - the new environment
      See Also:
    • load

      public void load(Resource... resources)
      Load bean definitions from the given XML resources.
      Parameters:
      resources - one or more resources to load from
    • load

      public void load(String... resourceLocations)
      Load bean definitions from the given XML resources.
      Parameters:
      resourceLocations - one or more resource locations to load from
    • load

      public void load(Class<?> relativeClass, String... resourceNames)
      Load bean definitions from the given XML resources.
      Parameters:
      relativeClass - class whose package will be used as a prefix when loading each specified resource name
      resourceNames - relatively-qualified names of resources to load