Overview | Package | Class | Tree | Deprecated | Index | Help
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, ResourceLoader, ResourcePatternResolver, ThemeSource, WebApplicationContext

    public class GenericWebApplicationContext

extends GenericApplicationContext
implements WebApplicationContext, ThemeSource

Subclass of `GenericApplicationContext`, suitable for web environments.

Implements the `WebApplicationContext` interface, but not `ConfigurableWebApplicationContext`, as it is not intended for declarative setup in `web.xml`. Instead, it is designed for programmatic setup, for example for building nested contexts.

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

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.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.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`

Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
`CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME`

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

Method Summary
`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.
`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` | `onRefresh()` Initialize the theme capability.
`protected void` | `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` Register ServletContextAwareProcessor.
`void` | `setServletContext(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, 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.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.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(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,
                                        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(ServletContext servletContext)

  Set the ServletContext that this WebApplicationContext runs in.

### getServletContext

    public 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`

### 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(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()`

### getTheme

    public Theme getTheme(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`

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