public abstract class AbstractRefreshableWebApplicationContext extends org.springframework.context.support.AbstractRefreshableConfigApplicationContext implements ConfigurableWebApplicationContext, org.springframework.ui.context.ThemeSource
AbstractRefreshableApplicationContext
subclass which implements the
ConfigurableWebApplicationContext
interface for web environments. Provides a "configLocations" property,
to be populated through the ConfigurableWebApplicationContext interface
on web application startup.
This class is as easy to subclass as AbstractRefreshableApplicationContext:
All you need to implements is the AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory) method;
see the superclass javadoc for details. Note that implementations are supposed
to load bean definitions from the files specified by the locations returned
by the getConfigLocations() method.
Interprets resource paths as servlet context resources, i.e. as paths beneath
the web application root. Absolute paths, e.g. for files outside the web app root,
can be accessed via "file:" URLs, as implemented by
DefaultResourceLoader.
In addition to the special beans detected by
AbstractApplicationContext,
this class detects a bean of type ThemeSource
in the context, under the special bean name "themeSource".
This is the web context to be subclassed for a different bean definition format.
Such a context implementation can be specified as "contextClass" context-param
for ContextLoader or as "contextClass"
init-param for org.springframework.web.servlet.FrameworkServlet,
replacing the default XmlWebApplicationContext. It will then automatically
receive the "contextConfigLocation" context-param or init-param, respectively.
Note that WebApplicationContext implementations are generally supposed
to configure themselves based on the configuration received through the
ConfigurableWebApplicationContext interface. In contrast, a standalone
application context might allow for configuration in custom startup code
(for example, GenericApplicationContext).
AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory),
ConfigurableWebApplicationContext.setConfigLocations(java.lang.String[]),
ThemeSource,
XmlWebApplicationContextAPPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAMEAPPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAMECONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAMECONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME| Constructor and Description |
|---|
AbstractRefreshableWebApplicationContext() |
| Modifier and Type | Method and Description |
|---|---|
protected org.springframework.core.env.ConfigurableEnvironment |
createEnvironment()
Create and return a new
StandardServletEnvironment. |
String |
getApplicationName() |
String[] |
getConfigLocations()
Return the config locations for this web application context,
or
null if none specified. |
String |
getNamespace()
Return the namespace for this web application context, if any.
|
protected org.springframework.core.io.Resource |
getResourceByPath(String path)
This implementation supports file paths beneath the root of the ServletContext.
|
protected org.springframework.core.io.support.ResourcePatternResolver |
getResourcePatternResolver()
This implementation supports pattern matching in unexpanded WARs too.
|
ServletConfig |
getServletConfig()
Return the ServletConfig for this web application context, if any.
|
ServletContext |
getServletContext()
Return the standard Servlet API ServletContext for this application.
|
org.springframework.ui.context.Theme |
getTheme(String themeName) |
protected void |
initPropertySources() |
protected void |
onRefresh()
Initialize the theme capability.
|
protected void |
postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Register request/session scopes, a
ServletContextAwareProcessor, etc. |
void |
setNamespace(String namespace)
Set the namespace for this web application context,
to be used for building a default context config location.
|
void |
setServletConfig(ServletConfig servletConfig)
Set the ServletConfig for this web application context.
|
void |
setServletContext(ServletContext servletContext)
Set the ServletContext for this web application context.
|
afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setIdassertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferencesaddApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, setParent, start, stop, toStringgetClassLoader, getResource, setClassLoaderclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitsetConfigLocation, setConfigLocationsaddApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParentgetAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDatecontainsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotationcontainsLocalBean, getParentBeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatchgetMessage, getMessage, getMessagegetResourcespublic AbstractRefreshableWebApplicationContext()
public void setServletContext(ServletContext servletContext)
ConfigurableWebApplicationContextDoes not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.
setServletContext in interface ConfigurableWebApplicationContextConfigurableApplicationContext.refresh()public ServletContext getServletContext()
WebApplicationContextAlso available for a Portlet application, in addition to the PortletContext.
getServletContext in interface WebApplicationContextpublic void setServletConfig(ServletConfig servletConfig)
ConfigurableWebApplicationContextsetServletConfig in interface ConfigurableWebApplicationContextConfigurableApplicationContext.refresh()public ServletConfig getServletConfig()
ConfigurableWebApplicationContextgetServletConfig in interface ConfigurableWebApplicationContextpublic void setNamespace(String namespace)
ConfigurableWebApplicationContextsetNamespace in interface ConfigurableWebApplicationContextpublic String getNamespace()
ConfigurableWebApplicationContextgetNamespace in interface ConfigurableWebApplicationContextpublic String[] getConfigLocations()
ConfigurableWebApplicationContextnull if none specified.getConfigLocations in interface ConfigurableWebApplicationContextgetConfigLocations in class org.springframework.context.support.AbstractRefreshableConfigApplicationContextpublic String getApplicationName()
getApplicationName in interface org.springframework.context.ApplicationContextgetApplicationName in class org.springframework.context.support.AbstractApplicationContextprotected org.springframework.core.env.ConfigurableEnvironment createEnvironment()
StandardServletEnvironment. Subclasses may override
in order to configure the environment or specialize the environment type returned.createEnvironment in class org.springframework.context.support.AbstractApplicationContextprotected void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
ServletContextAwareProcessor, etc.postProcessBeanFactory in class org.springframework.context.support.AbstractApplicationContextprotected org.springframework.core.io.Resource getResourceByPath(String path)
getResourceByPath in class org.springframework.core.io.DefaultResourceLoaderServletContextResourceprotected org.springframework.core.io.support.ResourcePatternResolver getResourcePatternResolver()
getResourcePatternResolver in class org.springframework.context.support.AbstractApplicationContextServletContextResourcePatternResolverprotected void onRefresh()
onRefresh in class org.springframework.context.support.AbstractApplicationContextprotected void initPropertySources()
Replace Servlet-related property sources.
initPropertySources in class org.springframework.context.support.AbstractApplicationContextpublic org.springframework.ui.context.Theme getTheme(String themeName)
getTheme in interface org.springframework.ui.context.ThemeSource