## org.springframework.context.support
Class GenericXmlApplicationContext

    java.lang.Object
      org.springframework.core.io.DefaultResourceLoader
          org.springframework.context.support.AbstractApplicationContext
              org.springframework.context.support.GenericApplicationContext
                  org.springframework.context.support.GenericXmlApplicationContext

All Implemented Interfaces:
  BeanFactory, DisposableBean, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, 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 deliberately override certain bean definitions via an extra configuration file.

Since:
  3.0
Author:
  Juergen Hoeller, Chris Beams
See Also:
  `load(org.springframework.core.io.Resource...)`, `XmlBeanDefinitionReader`, `AnnotationConfigApplicationContext`

Field Summary

Fields inherited from class org.springframework.context.support.AbstractApplicationContext
`APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME`

Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
`CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_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_ALL_URL_PREFIX`

Fields inherited from interface org.springframework.core.io.ResourceLoader
`CLASSPATH_URL_PREFIX`

Constructor Summary
`GenericXmlApplicationContext()` Create a new GenericXmlApplicationContext that needs to be populated through `load(org.springframework.core.io.Resource...)` calls and then manually `refreshed`.
`GenericXmlApplicationContext(Class<?> relativeClass, String... resourceNames)` Create a new GenericXmlApplicationContext, loading bean definitions from the given resource locations and automatically refreshing the context.
`GenericXmlApplicationContext(Resource... resources)` Create a new GenericXmlApplicationContext, loading bean definitions from the given resources and automatically refreshing the context.
`GenericXmlApplicationContext(String... resourceLocations)` Create a new GenericXmlApplicationContext, loading bean definitions from the given resource locations and automatically refreshing the context.

Method Summary
`void` `load(Class<?> relativeClass, String... resourceNames)` Load bean definitions from the given XML resources.
`void` `load(Resource... resources)` Load bean definitions from the given XML resources.
`void` `load(String... resourceLocations)` Load bean definitions from the given XML resources.
`void` `setValidating(boolean validating)` Set whether to use XML validation.

Methods inherited from class org.springframework.context.support.GenericApplicationContext
`cancelRefresh, closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setId, setParent, setResourceLoader`

Methods inherited from class org.springframework.context.support.AbstractApplicationContext

`addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, start, stop, toString`

Methods inherited from class org.springframework.core.io.DefaultResourceLoader
`getClassLoader, getResourceByPath, setClassLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames`

Methods inherited from interface org.springframework.core.AliasRegistry
`getAliases`

Methods inherited from interface org.springframework.core.io.ResourceLoader
`getClassLoader`

Constructor Detail

### GenericXmlApplicationContext

    public GenericXmlApplicationContext()

  Create a new GenericXmlApplicationContext that needs to be populated through `load(org.springframework.core.io.Resource...)` calls 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 Detail

### setValidating

    public void setValidating(boolean validating)

  Set whether to use XML validation. Default is `true`.

### 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