类 AbstractRefreshableWebApplicationContext
- java.lang.Object
- org.springframework.core.io.DefaultResourceLoader
- org.springframework.context.support.AbstractApplicationContext
- org.springframework.context.support.AbstractRefreshableApplicationContext
- org.springframework.context.support.AbstractRefreshableConfigApplicationContext
- org.springframework.web.context.support.AbstractRefreshableWebApplicationContext
- 所有已实现的接口:
Closeable
,AutoCloseable
,Aware
,BeanFactory
,BeanNameAware
,DisposableBean
,HierarchicalBeanFactory
,InitializingBean
,ListableBeanFactory
,ApplicationContext
,ApplicationEventPublisher
,ConfigurableApplicationContext
,Lifecycle
,MessageSource
,EnvironmentCapable
,ResourceLoader
,ResourcePatternResolver
,ThemeSource
,ConfigurableWebApplicationContext
,WebApplicationContext
public abstract class AbstractRefreshableWebApplicationContext extends AbstractRefreshableConfigApplicationContext implements ConfigurableWebApplicationContext, ThemeSource
AbstractRefreshableApplicationContext
subclass which implements theConfigurableWebApplicationContext
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 thegetConfigLocations()
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 typeThemeSource
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 forFrameworkServlet
, replacing the defaultXmlWebApplicationContext
. 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
).
嵌套类概要
从类继承的嵌套类/接口 org.springframework.core.io.DefaultResourceLoader
DefaultResourceLoader.ClassPathContextResource
字段概要
从类继承的字段 org.springframework.context.support.AbstractApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
从接口继承的字段 org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
从接口继承的字段 org.springframework.context.ConfigurableApplicationContext
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
从接口继承的字段 org.springframework.web.context.ConfigurableWebApplicationContext
APPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAME
从接口继承的字段 org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
从接口继承的字段 org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
从接口继承的字段 org.springframework.web.context.WebApplicationContext
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
构造器概要
构造器 构造器 说明 AbstractRefreshableWebApplicationContext()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected ConfigurableEnvironment
createEnvironment()
Create and return a newStandardServletEnvironment
.String
getApplicationName()
Return a name for the deployed application that this context belongs to.String[]
getConfigLocations()
Return an array of resource locations, referring to the XML bean definition files that this context should be built with.String
getNamespace()
Return the namespace for this web application context, if any.protected Resource
getResourceByPath(String path)
This implementation supports file paths beneath the root of the ServletContext.protected 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.Theme
getTheme(String themeName)
Return the Theme instance for the given theme name.protected void
initPropertySources()
Replace any stub property sources with actual instances.protected void
onRefresh()
Initialize the theme capability.protected void
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Register request/session scopes, aServletContextAwareProcessor
, 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.从类继承的方法 org.springframework.context.support.AbstractRefreshableConfigApplicationContext
afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
从类继承的方法 org.springframework.context.support.AbstractRefreshableApplicationContext
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
从类继承的方法 org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, 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, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString
从类继承的方法 org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, getClassLoader, getProtocolResolvers, getResource, setClassLoader
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口继承的方法 org.springframework.context.ApplicationContext
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
从接口继承的方法 org.springframework.context.ApplicationEventPublisher
publishEvent, publishEvent
从接口继承的方法 org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
从接口继承的方法 org.springframework.context.ConfigurableApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent
从接口继承的方法 org.springframework.web.context.ConfigurableWebApplicationContext
setConfigLocation, setConfigLocations
从接口继承的方法 org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
从接口继承的方法 org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
从接口继承的方法 org.springframework.context.MessageSource
getMessage, getMessage, getMessage
从接口继承的方法 org.springframework.core.io.ResourceLoader
getClassLoader, getResource
从接口继承的方法 org.springframework.core.io.support.ResourcePatternResolver
getResources
构造器详细资料
AbstractRefreshableWebApplicationContext
public AbstractRefreshableWebApplicationContext()
方法详细资料
setServletContext
public void setServletContext(ServletContext servletContext)
从接口复制的说明:ConfigurableWebApplicationContext
Set the ServletContext for this web application context.Does not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.
getServletContext
public ServletContext getServletContext()
从接口复制的说明:WebApplicationContext
Return the standard Servlet API ServletContext for this application.Also available for a Portlet application, in addition to the PortletContext.
- 指定者:
getServletContext
在接口中WebApplicationContext
setServletConfig
public void setServletConfig(ServletConfig servletConfig)
从接口复制的说明:ConfigurableWebApplicationContext
Set the ServletConfig for this web application context. Only called for a WebApplicationContext that belongs to a specific Servlet.
getServletConfig
public ServletConfig getServletConfig()
从接口复制的说明:ConfigurableWebApplicationContext
Return the ServletConfig for this web application context, if any.
setNamespace
public void setNamespace(String namespace)
从接口复制的说明:ConfigurableWebApplicationContext
Set the namespace for this web application context, to be used for building a default context config location. The root web application context does not have a namespace.
getNamespace
public String getNamespace()
从接口复制的说明:ConfigurableWebApplicationContext
Return the namespace for this web application context, if any.
getConfigLocations
public String[] getConfigLocations()
Return an array of resource locations, referring to the XML bean definition files that this context should be built with. Can also include location patterns, which will get resolved via a ResourcePatternResolver.The default implementation returns
null
. Subclasses can override this to provide a set of resource locations to load bean definitions from.- 指定者:
getConfigLocations
在接口中ConfigurableWebApplicationContext
- 覆盖:
getConfigLocations
在类中AbstractRefreshableConfigApplicationContext
- 返回:
- an array of resource locations, or
null
if none - 另请参阅:
AbstractApplicationContext.getResources(java.lang.String)
,AbstractApplicationContext.getResourcePatternResolver()
getApplicationName
public String getApplicationName()
从接口复制的说明:ApplicationContext
Return a name for the deployed application that this context belongs to.- 指定者:
getApplicationName
在接口中ApplicationContext
- 覆盖:
getApplicationName
在类中AbstractApplicationContext
- 返回:
- a name for the deployed application, or the empty String by default
createEnvironment
protected ConfigurableEnvironment createEnvironment()
Create and return a newStandardServletEnvironment
. Subclasses may override in order to configure the environment or specialize the environment type returned.
postProcessBeanFactory
protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Register request/session scopes, aServletContextAwareProcessor
, etc.- 覆盖:
postProcessBeanFactory
在类中AbstractApplicationContext
- 参数:
beanFactory
- the bean factory used by the application context
getResourceByPath
protected Resource getResourceByPath(String path)
This implementation supports file paths beneath the root of the ServletContext.- 覆盖:
getResourceByPath
在类中DefaultResourceLoader
- 参数:
path
- the path to the resource- 返回:
- the corresponding Resource handle
- 另请参阅:
ServletContextResource
getResourcePatternResolver
protected ResourcePatternResolver getResourcePatternResolver()
This implementation supports pattern matching in unexpanded WARs too.- 覆盖:
getResourcePatternResolver
在类中AbstractApplicationContext
- 返回:
- the ResourcePatternResolver for this context
- 另请参阅:
ServletContextResourcePatternResolver
onRefresh
protected void onRefresh()
Initialize the theme capability.
initPropertySources
protected void initPropertySources()
Replace any stub property sources with actual instances.
Replace
Servlet
-related property sources.
getTheme
public Theme getTheme(String themeName)
从接口复制的说明:ThemeSource
Return the Theme instance for the given theme name.The returned Theme will resolve theme-specific messages, codes, file paths, etc (e.g. CSS and image files in a web environment).
- 指定者:
getTheme
在接口中ThemeSource
- 参数:
themeName
- the name of the theme- 返回:
- the corresponding Theme, or
null
if none defined. Note that, by convention, a ThemeSource should at least be able to return a default Theme for the default theme name "theme" but may also return default Themes for other theme names. - 另请参阅:
AbstractThemeResolver.ORIGINAL_DEFAULT_THEME_NAME