Class FileSystemXmlApplicationContext
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Aware
,BeanFactory
,BeanNameAware
,HierarchicalBeanFactory
,InitializingBean
,ListableBeanFactory
,ApplicationContext
,ApplicationEventPublisher
,ConfigurableApplicationContext
,Lifecycle
,MessageSource
,EnvironmentCapable
,ResourceLoader
,ResourcePatternResolver
NOTE: Plain paths will always be interpreted as relative to the current VM working directory, even if they start with a slash. (This is consistent with the semantics in a Servlet container.) Use an explicit "file:" prefix to enforce an absolute file path.
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 FileSystemXmlApplicationContext for bean-style configuration.FileSystemXmlApplicationContext
(String configLocation) Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.FileSystemXmlApplicationContext
(String... configLocations) Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.FileSystemXmlApplicationContext
(String[] configLocations, boolean refresh) Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files.FileSystemXmlApplicationContext
(String[] configLocations, boolean refresh, ApplicationContext parent) Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files.FileSystemXmlApplicationContext
(String[] configLocations, ApplicationContext parent) Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.Create a new FileSystemXmlApplicationContext for bean-style configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected Resource
getResourceByPath
(String path) Resolve resource paths as file system paths.Methods inherited from class org.springframework.context.support.AbstractXmlApplicationContext
getConfigResources, 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, resetCommonCaches, setApplicationStartup, setDisplayName, setEnvironment, setParent, start, stop, toString
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, 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
-
FileSystemXmlApplicationContext
public FileSystemXmlApplicationContext()Create a new FileSystemXmlApplicationContext for bean-style configuration. -
FileSystemXmlApplicationContext
Create a new FileSystemXmlApplicationContext for bean-style configuration. -
FileSystemXmlApplicationContext
Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.- Parameters:
configLocation
- file path- Throws:
BeansException
- if context creation failed
-
FileSystemXmlApplicationContext
Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.- Parameters:
configLocations
- array of file paths- Throws:
BeansException
- if context creation failed
-
FileSystemXmlApplicationContext
public FileSystemXmlApplicationContext(String[] configLocations, ApplicationContext parent) throws BeansException Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.- Parameters:
configLocations
- array of file pathsparent
- the parent context- Throws:
BeansException
- if context creation failed
-
FileSystemXmlApplicationContext
public FileSystemXmlApplicationContext(String[] configLocations, boolean refresh) throws BeansException Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files.- Parameters:
configLocations
- array of file pathsrefresh
- 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:
-
FileSystemXmlApplicationContext
public FileSystemXmlApplicationContext(String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files.- Parameters:
configLocations
- array of file pathsrefresh
- 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:
-
-
Method Details
-
getResourceByPath
Resolve resource paths as file system paths.Note: Even if a given path starts with a slash, it will get interpreted as relative to the current VM working directory. This is consistent with the semantics in a Servlet container.
- Overrides:
getResourceByPath
in classDefaultResourceLoader
- Parameters:
path
- the path to the resource- Returns:
- the Resource handle
- See Also:
-