Class ClassPathXmlApplicationContext
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Aware
,BeanFactory
,BeanNameAware
,HierarchicalBeanFactory
,InitializingBean
,ListableBeanFactory
,ApplicationContext
,ApplicationEventPublisher
,ConfigurableApplicationContext
,Lifecycle
,MessageSource
,EnvironmentCapable
,ResourceLoader
,ResourcePatternResolver
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:
-
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, 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
ConstructorDescriptionCreate a new ClassPathXmlApplicationContext for bean-style configuration.ClassPathXmlApplicationContext
(String configLocation) Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.ClassPathXmlApplicationContext
(String... configLocations) Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.ClassPathXmlApplicationContext
(String[] configLocations, boolean refresh) Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.ClassPathXmlApplicationContext
(String[] configLocations, boolean refresh, ApplicationContext parent) Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.ClassPathXmlApplicationContext
(String[] paths, Class<?> clazz) Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.ClassPathXmlApplicationContext
(String[] paths, Class<?> clazz, ApplicationContext parent) Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.ClassPathXmlApplicationContext
(String[] configLocations, ApplicationContext parent) Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.ClassPathXmlApplicationContext
(String path, Class<?> clazz) Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.Create a new ClassPathXmlApplicationContext for bean-style configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected Resource[]
Return an array of Resource objects, referring to the XML bean definition files that this context should be built with.Methods inherited from class org.springframework.context.support.AbstractXmlApplicationContext
initBeanDefinitionReader, loadBeanDefinitions, loadBeanDefinitions, setValidating
Methods inherited from class org.springframework.context.support.AbstractRefreshableConfigApplicationContext
afterPropertiesSet, getConfigLocations, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroyBeans, doClose, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getAutowireCapableBeanFactory, 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, getResources, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setApplicationStartup, setDisplayName, setEnvironment, setParent, start, stop, toString
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, getResourceByPath, getResourceCache, setClassLoader
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
addProtocolResolver, setClassLoader
Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResource
-
Constructor Details
-
ClassPathXmlApplicationContext
public ClassPathXmlApplicationContext()Create a new ClassPathXmlApplicationContext for bean-style configuration. -
ClassPathXmlApplicationContext
Create a new ClassPathXmlApplicationContext for bean-style configuration. -
ClassPathXmlApplicationContext
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.- Parameters:
configLocation
- resource location- Throws:
BeansException
- if context creation failed
-
ClassPathXmlApplicationContext
Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.- Parameters:
configLocations
- array of resource locations- Throws:
BeansException
- if context creation failed
-
ClassPathXmlApplicationContext
public ClassPathXmlApplicationContext(String[] configLocations, @Nullable ApplicationContext parent) throws 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 locationsparent
- the parent context- Throws:
BeansException
- if context creation failed
-
ClassPathXmlApplicationContext
public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh) throws BeansException Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.- Parameters:
configLocations
- array of resource locationsrefresh
- whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.- Throws:
BeansException
- if context creation failed- See Also:
-
ClassPathXmlApplicationContext
public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.- Parameters:
configLocations
- array of resource locationsrefresh
- 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:
BeansException
- if context creation failed- See Also:
-
ClassPathXmlApplicationContext
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 pathclazz
- the class to load resources with (basis for the given paths)- Throws:
BeansException
- if context creation failed- See Also:
-
ClassPathXmlApplicationContext
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 pathclazz
- the class to load resources with (basis for the given paths)- Throws:
BeansException
- if context creation failed- See Also:
-
ClassPathXmlApplicationContext
public ClassPathXmlApplicationContext(String[] paths, Class<?> clazz, @Nullable ApplicationContext parent) throws 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 pathclazz
- the class to load resources with (basis for the given paths)parent
- the parent context- Throws:
BeansException
- if context creation failed- See Also:
-
-
Method Details
-
getConfigResources
Description copied from class:AbstractXmlApplicationContext
Return an array of Resource objects, referring to the XML bean definition files that this context should be built with.The default implementation returns
null
. Subclasses can override this to provide pre-built Resource objects rather than location Strings.- Overrides:
getConfigResources
in classAbstractXmlApplicationContext
- Returns:
- an array of Resource objects, or
null
if none - See Also:
-