Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.context.support
Class GenericWebApplicationContext

    java.lang.Object
      org.springframework.core.io.DefaultResourceLoader
          org.springframework.context.support.AbstractApplicationContext
              org.springframework.context.support.GenericApplicationContext
                  org.springframework.web.context.support.GenericWebApplicationContext

All Implemented Interfaces:
  BeanFactory, DisposableBean, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, EnvironmentCapable, ResourceLoader, ResourcePatternResolver, ThemeSource, ConfigurableWebApplicationContext, WebApplicationContext

    public class GenericWebApplicationContext

extends GenericApplicationContext
implements ConfigurableWebApplicationContext, ThemeSource

Subclass of `GenericApplicationContext`, suitable for web environments.

Implements the `ConfigurableWebApplicationContext`, but is not intended for declarative setup in `web.xml`. Instead, it is designed for programmatic setup, for example for building nested contexts or for use within Spring 3.1 `WebApplicationInitializer`s.

If you intend to implement a WebApplicationContext that reads bean definitions from configuration files, consider deriving from AbstractRefreshableWebApplicationContext, reading the bean definitions in an implementation of the `loadBeanDefinitions` 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 AbstractApplicationContext.

In addition to the special beans detected by `AbstractApplicationContext`, this class detects a ThemeSource bean in the context, with the name "themeSource".

Since:
  1.2
Author:
  Juergen Hoeller, Chris Beams

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.web.context.ConfigurableWebApplicationContext
`APPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAME`

Fields inherited from interface 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`

Fields inherited from interface 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`

Fields inherited from interface org.springframework.beans.factory.BeanFactory
`FACTORY_BEAN_PREFIX`

Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
`CLASSPATH_ALL_URL_PREFIX`

Fields inherited from interface org.springframework.core.io.ResourceLoader
`CLASSPATH_URL_PREFIX`

Constructor Summary
`GenericWebApplicationContext()` Create a new GenericWebApplicationContext.
`GenericWebApplicationContext(DefaultListableBeanFactory beanFactory)` Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.
`GenericWebApplicationContext(DefaultListableBeanFactory beanFactory, javax.servlet.ServletContext servletContext)` Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.
`GenericWebApplicationContext(javax.servlet.ServletContext servletContext)` Create a new GenericWebApplicationContext for the given ServletContext.

Method Summary
`protected ConfigurableEnvironment` | `createEnvironment()` Create and return a new `StandardServletEnvironment`.
`java.lang.String[]` | `getConfigLocations()` Return the config locations for this web application context, or `null` if none specified.
`ConfigurableWebEnvironment` | `getEnvironment()` Return the Environment for this application context in configurable form.
`java.lang.String` | `getNamespace()` Return the namespace for this web application context, if any.
`protected Resource` | `getResourceByPath(java.lang.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.
`javax.servlet.ServletConfig` | `getServletConfig()` Return the ServletConfig for this web application context, if any.
`javax.servlet.ServletContext` | `getServletContext()` Return the standard Servlet API ServletContext for this application.
`Theme` | `getTheme(java.lang.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 ServletContextAwareProcessor.
`void` | `setConfigLocation(java.lang.String configLocation)` Set the config locations for this web application context in init-param style, i.e.
`void` | `setConfigLocations(java.lang.String[] configLocations)` Set the config locations for this web application context.
`void` | `setNamespace(java.lang.String namespace)` Set the namespace for this web application context, to be used for building a default context config location.
`void` | `setServletConfig(javax.servlet.ServletConfig servletConfig)` Set the ServletConfig for this web application context.
`void` | `setServletContext(javax.servlet.ServletContext servletContext)` Set the ServletContext that this WebApplicationContext runs in.

Methods inherited from class org.springframework.context.support.GenericApplicationContext
`cancelRefresh, closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setId, setParent, setResourceLoader`

Methods inherited from class org.springframework.context.support.AbstractApplicationContext
`addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, start, stop, toString`

Methods inherited from class org.springframework.core.io.DefaultResourceLoader
`getClassLoader, 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
`addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent`

Methods inherited from interface org.springframework.context.ApplicationContext
`getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate`

Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
`containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation`

Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
`containsLocalBean, getParentBeanFactory`

Methods inherited from interface org.springframework.beans.factory.BeanFactory
`containsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch`

Methods inherited from interface org.springframework.context.MessageSource
`getMessage, getMessage, getMessage`

Methods inherited from interface org.springframework.context.ApplicationEventPublisher
`publishEvent`

Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver
`getResources`

Methods inherited from interface org.springframework.core.io.ResourceLoader
`getClassLoader, getResource`

Methods inherited from interface org.springframework.context.Lifecycle
`isRunning, start, stop`

Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames`

Methods inherited from interface org.springframework.core.AliasRegistry
`getAliases`

Constructor Detail

### GenericWebApplicationContext

    public GenericWebApplicationContext()

  Create a new GenericWebApplicationContext.

  See Also:
    `setServletContext(javax.servlet.ServletContext)`, `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

### GenericWebApplicationContext

    public GenericWebApplicationContext(javax.servlet.ServletContext servletContext)

  Create a new GenericWebApplicationContext for the given ServletContext.

  Parameters:
    `servletContext` - the ServletContext to run in
  See Also:
    `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

### GenericWebApplicationContext

    public GenericWebApplicationContext(DefaultListableBeanFactory beanFactory)

  Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.

  Parameters:
    `beanFactory` - the DefaultListableBeanFactory instance to use for this context
  See Also:
    `setServletContext(javax.servlet.ServletContext)`, `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

### GenericWebApplicationContext

    public GenericWebApplicationContext(DefaultListableBeanFactory beanFactory,
                                        javax.servlet.ServletContext servletContext)

  Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.

  Parameters:
    `beanFactory` - the DefaultListableBeanFactory instance to use for this context
    `servletContext` - the ServletContext to run in
  See Also:
    `GenericApplicationContext.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)`, `AbstractApplicationContext.refresh()`

Method Detail

### setServletContext

    public void setServletContext(javax.servlet.ServletContext servletContext)

  Set the ServletContext that this WebApplicationContext runs in.

  Specified by:
    `setServletContext` in interface `ConfigurableWebApplicationContext`
  See Also:
    `ConfigurableApplicationContext.refresh()`

### getServletContext

    public javax.servlet.ServletContext getServletContext()

  Description copied from interface: `WebApplicationContext`
  Return the standard Servlet API ServletContext for this application.

  Also available for a Portlet application, in addition to the PortletContext.

  Specified by:
    `getServletContext` in interface `WebApplicationContext`

### createEnvironment

    protected ConfigurableEnvironment createEnvironment()

  Create and return a new `StandardServletEnvironment`.

  Overrides:
    `createEnvironment` in class `AbstractApplicationContext`

### getEnvironment

    public ConfigurableWebEnvironment getEnvironment()

  Description copied from interface: `ConfigurableApplicationContext`
  Return the Environment for this application context in configurable form.

  Specified by:
    `getEnvironment` in interface `ConfigurableApplicationContext`
  Specified by:
    `getEnvironment` in interface `EnvironmentCapable`
  Specified by:
    `getEnvironment` in interface `ConfigurableWebApplicationContext`
  Overrides:
    `getEnvironment` in class `AbstractApplicationContext`

### postProcessBeanFactory

    protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)

  Register ServletContextAwareProcessor.

  Overrides:
    `postProcessBeanFactory` in class `AbstractApplicationContext`
  Parameters:
    `beanFactory` - the bean factory used by the application context
  See Also:
    `ServletContextAwareProcessor`

### getResourceByPath

    protected Resource getResourceByPath(java.lang.String path)

  This implementation supports file paths beneath the root of the ServletContext.

  Overrides:
    `getResourceByPath` in class `DefaultResourceLoader`
  Parameters:
    `path` - the path to the resource
  Returns:
    the corresponding Resource handle
  See Also:
    `ServletContextResource`

### getResourcePatternResolver

    protected ResourcePatternResolver getResourcePatternResolver()

  This implementation supports pattern matching in unexpanded WARs too.

  Overrides:
    `getResourcePatternResolver` in class `AbstractApplicationContext`
  Returns:
    the ResourcePatternResolver for this context
  See Also:
    `ServletContextResourcePatternResolver`

### onRefresh

    protected void onRefresh()

  Initialize the theme capability.

  Overrides:
    `onRefresh` in class `AbstractApplicationContext`
  See Also:
    `AbstractApplicationContext.refresh()`

### initPropertySources

    protected void initPropertySources()

  Replace any stub property sources with actual instances.

  Replace `Servlet`-related property sources.

  Overrides:
    `initPropertySources` in class `AbstractApplicationContext`
  See Also:
    `PropertySource.StubPropertySource`, `WebApplicationContextUtils.initServletPropertySources(org.springframework.core.env.MutablePropertySources, javax.servlet.ServletContext)`

### getTheme

    public Theme getTheme(java.lang.String themeName)

  Description copied from interface: `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).

  Specified by:
    `getTheme` in interface `ThemeSource`
  Parameters:
    `themeName` - the name of the theme
  Returns:
    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.
  See Also:
    `AbstractThemeResolver.ORIGINAL_DEFAULT_THEME_NAME`

### setServletConfig

    public void setServletConfig(javax.servlet.ServletConfig servletConfig)

  Description copied from interface: `ConfigurableWebApplicationContext`
  Set the ServletConfig for this web application context. Only called for a WebApplicationContext that belongs to a specific Servlet.

  Specified by:
    `setServletConfig` in interface `ConfigurableWebApplicationContext`
  See Also:
    `ConfigurableApplicationContext.refresh()`

### getServletConfig

    public javax.servlet.ServletConfig getServletConfig()

  Description copied from interface: `ConfigurableWebApplicationContext`
  Return the ServletConfig for this web application context, if any.

  Specified by:
    `getServletConfig` in interface `ConfigurableWebApplicationContext`

### setNamespace

    public void setNamespace(java.lang.String namespace)

  Description copied from interface: `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.

  Specified by:
    `setNamespace` in interface `ConfigurableWebApplicationContext`

### getNamespace

    public java.lang.String getNamespace()

  Description copied from interface: `ConfigurableWebApplicationContext`
  Return the namespace for this web application context, if any.

  Specified by:
    `getNamespace` in interface `ConfigurableWebApplicationContext`

### setConfigLocation

    public void setConfigLocation(java.lang.String configLocation)

  Description copied from interface: `ConfigurableWebApplicationContext`
  Set the config locations for this web application context in init-param style, i.e. with distinct locations separated by commas, semicolons or whitespace.

  If not set, the implementation is supposed to use a default for the given namespace or the root web application context, as appropriate.

  Specified by:
    `setConfigLocation` in interface `ConfigurableWebApplicationContext`

### setConfigLocations

    public void setConfigLocations(java.lang.String[] configLocations)

  Description copied from interface: `ConfigurableWebApplicationContext`
  Set the config locations for this web application context.

  If not set, the implementation is supposed to use a default for the given namespace or the root web application context, as appropriate.

  Specified by:
    `setConfigLocations` in interface `ConfigurableWebApplicationContext`

### getConfigLocations

    public java.lang.String[] getConfigLocations()

  Description copied from interface: `ConfigurableWebApplicationContext`
  Return the config locations for this web application context, or `null` if none specified.

  Specified by:
    `getConfigLocations` in interface `ConfigurableWebApplicationContext`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD