public class FileSystemXmlApplicationContext extends AbstractXmlApplicationContext
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.
DefaultResourceLoader.getResource(java.lang.String)
,
getResourceByPath(java.lang.String)
,
GenericApplicationContext
DefaultResourceLoader.ClassPathContextResource
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
Constructor and Description |
---|
FileSystemXmlApplicationContext()
Create a new FileSystemXmlApplicationContext for bean-style configuration.
|
FileSystemXmlApplicationContext(ApplicationContext parent)
Create a new FileSystemXmlApplicationContext for bean-style configuration.
|
FileSystemXmlApplicationContext(String... configLocations)
Create a new FileSystemXmlApplicationContext, loading the definitions
from the given XML files and automatically refreshing the context.
|
FileSystemXmlApplicationContext(String configLocation)
Create a new FileSystemXmlApplicationContext, loading the definitions
from the given XML file and automatically refreshing the context.
|
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.
|
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.
|
Modifier and Type | Method and Description |
---|---|
protected Resource |
getResourceByPath(String path)
Resolve resource paths as file system paths.
|
getConfigResources, initBeanDefinitionReader, loadBeanDefinitions, loadBeanDefinitions, setValidating
afterPropertiesSet, getConfigLocations, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, setParent, start, stop, toString
getClassLoader, getResource, setClassLoader
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getClassLoader, getResource
public FileSystemXmlApplicationContext()
public FileSystemXmlApplicationContext(ApplicationContext parent)
public FileSystemXmlApplicationContext(String configLocation) throws BeansException
configLocation
- file pathBeansException
- if context creation failedpublic FileSystemXmlApplicationContext(String... configLocations) throws BeansException
configLocations
- array of file pathsBeansException
- if context creation failedpublic FileSystemXmlApplicationContext(String[] configLocations, ApplicationContext parent) throws BeansException
configLocations
- array of file pathsparent
- the parent contextBeansException
- if context creation failedpublic FileSystemXmlApplicationContext(String[] configLocations, boolean refresh) throws BeansException
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.BeansException
- if context creation failedAbstractApplicationContext.refresh()
public FileSystemXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) throws BeansException
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 contextBeansException
- if context creation failedAbstractApplicationContext.refresh()
protected Resource getResourceByPath(String path)
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.
getResourceByPath
in class DefaultResourceLoader
path
- path to the resourceAbstractRefreshableWebApplicationContext.getResourceByPath(java.lang.String)