public abstract class AbstractRefreshableConfigApplicationContext extends AbstractRefreshableApplicationContext implements BeanNameAware, InitializingBean
AbstractRefreshableApplicationContext
subclass that adds common handling
of specified config locations. Serves as base class for XML-based application
context implementations such as ClassPathXmlApplicationContext
and
FileSystemXmlApplicationContext
, as well as
XmlWebApplicationContext
.setConfigLocation(java.lang.String)
,
setConfigLocations(java.lang.String...)
,
getDefaultConfigLocations()
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 |
---|
AbstractRefreshableConfigApplicationContext()
Create a new AbstractRefreshableConfigApplicationContext with no parent.
|
AbstractRefreshableConfigApplicationContext(ApplicationContext parent)
Create a new AbstractRefreshableConfigApplicationContext with the given parent context.
|
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Triggers
AbstractApplicationContext.refresh() if not refreshed in the concrete context's
constructor already. |
protected java.lang.String[] |
getConfigLocations()
Return an array of resource locations, referring to the XML bean definition
files that this context should be built with.
|
protected java.lang.String[] |
getDefaultConfigLocations()
Return the default config locations to use, for the case where no
explicit config locations have been specified.
|
protected java.lang.String |
resolvePath(java.lang.String path)
Resolve the given path, replacing placeholders with corresponding
environment property values if necessary.
|
void |
setBeanName(java.lang.String name)
Sets the id of this context to the bean name by default,
for cases where the context instance is itself defined as a bean.
|
void |
setConfigLocation(java.lang.String location)
Set the config locations for this application context in init-param style,
i.e.
|
void |
setConfigLocations(java.lang.String... locations)
Set the config locations for this application context.
|
void |
setId(java.lang.String id)
Set the unique id of this application context.
|
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, 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, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString
addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, getResourceByPath, getResourceCache, setClassLoader
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addProtocolResolver
getClassLoader, getResource
public AbstractRefreshableConfigApplicationContext()
public AbstractRefreshableConfigApplicationContext(@Nullable ApplicationContext parent)
parent
- the parent contextpublic void setConfigLocation(java.lang.String location)
If not set, the implementation may use a default as appropriate.
public void setConfigLocations(@Nullable java.lang.String... locations)
If not set, the implementation may use a default as appropriate.
@Nullable protected java.lang.String[] getConfigLocations()
The default implementation returns null
. Subclasses can override
this to provide a set of resource locations to load bean definitions from.
null
if noneAbstractApplicationContext.getResources(java.lang.String)
,
AbstractApplicationContext.getResourcePatternResolver()
@Nullable protected java.lang.String[] getDefaultConfigLocations()
The default implementation returns null
,
requiring explicit config locations.
setConfigLocations(java.lang.String...)
protected java.lang.String resolvePath(java.lang.String path)
path
- the original file pathPropertyResolver.resolveRequiredPlaceholders(String)
public void setId(java.lang.String id)
AbstractApplicationContext
Default is the object id of the context instance, or the name of the context bean if the context is itself defined as a bean.
setId
in interface ConfigurableApplicationContext
setId
in class AbstractApplicationContext
id
- the unique id of the contextpublic void setBeanName(java.lang.String name)
setBeanName
in interface BeanNameAware
name
- the name of the bean in the factory.
Note that this name is the actual bean name used in the factory, which may
differ from the originally specified name: in particular for inner bean
names, the actual bean name might have been made unique through appending
"#..." suffixes. Use the BeanFactoryUtils.originalBeanName(String)
method to extract the original bean name (without suffix), if desired.public void afterPropertiesSet()
AbstractApplicationContext.refresh()
if not refreshed in the concrete context's
constructor already.afterPropertiesSet
in interface InitializingBean