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:
Closeable
,AutoCloseable
,BeanFactory
,HierarchicalBeanFactory
,ListableBeanFactory
,BeanDefinitionRegistry
,ApplicationContext
,ApplicationEventPublisher
,ConfigurableApplicationContext
,Lifecycle
,MessageSource
,AliasRegistry
,EnvironmentCapable
,ResourceLoader
,ResourcePatternResolver
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoader
DefaultResourceLoader.ClassPathContextResource
-
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.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
APPLICATION_STARTUP_BEAN_NAME, BOOTSTRAP_EXECUTOR_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
-
Constructor Summary
ConstructorDescriptionGenericXmlApplicationContext
(Class<?> relativeClass, String... resourceNames) Create a new GenericXmlApplicationContext, loading bean definitions from the given resource locations 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.GenericXmlApplicationContext
(Resource... resources) Create a new GenericXmlApplicationContext, loading bean definitions from the given resources and automatically refreshing the context. -
Method Summary
Modifier and TypeMethodDescriptionfinal XmlBeanDefinitionReader
Exposes the underlyingXmlBeanDefinitionReader
for additional configuration facilities andloadBeanDefinition
variations.void
Load bean definitions from the given XML resources.void
Load bean definitions from the given XML resources.void
Load bean definitions from the given XML resources.void
setEnvironment
(ConfigurableEnvironment environment) Delegates the given environment to underlyingXmlBeanDefinitionReader
.void
setValidating
(boolean validating) Set whether to use XML validation.Methods inherited from class org.springframework.context.support.GenericApplicationContext
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanDefinitionOverridable, isBeanNameInUse, refreshBeanFactory, refreshForAotProcessing, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoader
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, clearResourceCaches, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroyBeans, doClose, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isClosed, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setDisplayName, setId, start, stop, toString
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, getProtocolResolvers, getResourceByPath, getResourceCache
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.core.AliasRegistry
getAliases
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
addProtocolResolver
-
Constructor Details
-
GenericXmlApplicationContext
public GenericXmlApplicationContext() -
GenericXmlApplicationContext
Create a new GenericXmlApplicationContext, loading bean definitions from the given resources and automatically refreshing the context.- Parameters:
resources
- the resources to load from
-
GenericXmlApplicationContext
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
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 nameresourceNames
- relatively-qualified names of resources to load
-
-
Method Details
-
getReader
Exposes the underlyingXmlBeanDefinitionReader
for additional configuration facilities andloadBeanDefinition
variations. -
setValidating
public void setValidating(boolean validating) Set whether to use XML validation. Default istrue
. -
setEnvironment
Delegates the given environment to underlyingXmlBeanDefinitionReader
. Should be called before any call to#load
.- Specified by:
setEnvironment
in interfaceConfigurableApplicationContext
- Overrides:
setEnvironment
in classAbstractApplicationContext
- Parameters:
environment
- the new environment- See Also:
-
load
Load bean definitions from the given XML resources.- Parameters:
resources
- one or more resources to load from
-
load
Load bean definitions from the given XML resources.- Parameters:
resourceLocations
- one or more resource locations to load from
-
load
Load bean definitions from the given XML resources.- Parameters:
relativeClass
- class whose package will be used as a prefix when loading each specified resource nameresourceNames
- relatively-qualified names of resources to load
-