Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The 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, 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, logger, MESSAGE_SOURCE_BEAN_NAME`

Fields inherited from interface org.springframework.web.context.WebApplicationContext
`ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

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

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.

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
`closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, refreshBeanFactory, registerAlias, registerBeanDefinition, setParent, setResourceLoader`

Methods inherited from class org.springframework.context.support.AbstractApplicationContext
`addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getInternalParentBeanFactory, getInternalParentMessageSource, getLifecycleBeans, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, getType, initApplicationEventMulticaster, 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, getParent, getStartupDate`

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

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

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

Methods inherited from interface org.springframework.beans.factory.BeanFactory
`containsBean, getAliases, 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, getAliases, getBeanDefinitionCount, getBeanDefinitionNames`

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

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.

  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` - path to the resource
  Returns:
    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 | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2007 The Spring Framework.