org.springframework.context.support
Class GenericXmlApplicationContext

java.lang.Object
  extended by org.springframework.core.io.DefaultResourceLoader
      extended by org.springframework.context.support.AbstractApplicationContext
          extended by org.springframework.context.support.GenericApplicationContext
              extended by org.springframework.context.support.GenericXmlApplicationContext
All Implemented Interfaces:
BeanFactory, DisposableBean, 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 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, ENVIRONMENT_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 loaded 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 setEnvironment(ConfigurableEnvironment environment)
          Set the Environment for this application context.
 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, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, 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 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 Detail

setValidating

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


setEnvironment

public void setEnvironment(ConfigurableEnvironment environment)
Set the Environment for this application context.

Default value is determined by AbstractApplicationContext.createEnvironment(). Replacing the default with this method is one option but configuration through AbstractApplicationContext.getEnvironment() should also be considered. In either case, such modifications should be performed before AbstractApplicationContext.refresh().

Delegates the given environment to underlying XmlBeanDefinitionReader. Should be called before any call to load(org.springframework.core.io.Resource...).

Specified by:
setEnvironment in interface ConfigurableApplicationContext
Overrides:
setEnvironment in class AbstractApplicationContext
Parameters:
environment - the new environment
See Also:
AbstractApplicationContext.createEnvironment()

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