public class

GenericWebApplicationContext

extends GenericApplicationContext
implements ThemeSource WebApplicationContext
java.lang.Object
   ↳ org.springframework.core.io.DefaultResourceLoader
     ↳ org.springframework.context.support.AbstractApplicationContext
       ↳ org.springframework.context.support.GenericApplicationContext
         ↳ org.springframework.web.context.support.GenericWebApplicationContext

Class Overview

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

Summary

[Expand]
Inherited Constants
From class org.springframework.context.support.AbstractApplicationContext
From interface org.springframework.beans.factory.BeanFactory
From interface org.springframework.context.ConfigurableApplicationContext
From interface org.springframework.core.io.ResourceLoader
From interface org.springframework.core.io.support.ResourcePatternResolver
From interface org.springframework.web.context.WebApplicationContext
[Expand]
Inherited Fields
From class org.springframework.context.support.AbstractApplicationContext
From interface org.springframework.web.context.WebApplicationContext
Public Constructors
GenericWebApplicationContext()
Create a new GenericWebApplicationContext.
GenericWebApplicationContext(ServletContext servletContext)
Create a new GenericWebApplicationContext for the given ServletContext.
GenericWebApplicationContext(DefaultListableBeanFactory beanFactory)
Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.
GenericWebApplicationContext(DefaultListableBeanFactory beanFactory, ServletContext servletContext)
Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.
Public Methods
ServletContext getServletContext()
Return the standard Servlet API ServletContext for this application.
Theme getTheme(String themeName)
Return the Theme instance for the given theme name.
void setServletContext(ServletContext servletContext)
Set the ServletContext that this WebApplicationContext runs in.
Protected Methods
ConfigurableEnvironment createEnvironment()
Create and return a new DefaultWebEnvironment.
Resource getResourceByPath(String path)
This implementation supports file paths beneath the root of the ServletContext.
ResourcePatternResolver getResourcePatternResolver()
This implementation supports pattern matching in unexpanded WARs too.
void initPropertySources()

Replace any stub property sources with actual instances.

Replace Servlet-related property sources.

void onRefresh()
Initialize the theme capability.
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Register ServletContextAwareProcessor.
[Expand]
Inherited Methods
From class org.springframework.context.support.GenericApplicationContext
From class org.springframework.context.support.AbstractApplicationContext
From class org.springframework.core.io.DefaultResourceLoader
From class java.lang.Object
From interface org.springframework.beans.factory.BeanFactory
From interface org.springframework.beans.factory.DisposableBean
From interface org.springframework.beans.factory.HierarchicalBeanFactory
From interface org.springframework.beans.factory.ListableBeanFactory
From interface org.springframework.beans.factory.support.BeanDefinitionRegistry
From interface org.springframework.context.ApplicationContext
From interface org.springframework.context.ApplicationEventPublisher
From interface org.springframework.context.ConfigurableApplicationContext
From interface org.springframework.context.Lifecycle
From interface org.springframework.context.MessageSource
From interface org.springframework.core.AliasRegistry
From interface org.springframework.core.env.EnvironmentCapable
From interface org.springframework.core.io.ResourceLoader
From interface org.springframework.core.io.support.ResourcePatternResolver
From interface org.springframework.ui.context.ThemeSource
From interface org.springframework.web.context.WebApplicationContext

Public Constructors

public GenericWebApplicationContext ()

public GenericWebApplicationContext (ServletContext servletContext)

Create a new GenericWebApplicationContext for the given ServletContext.

Parameters
servletContext the ServletContext to run in

public GenericWebApplicationContext (DefaultListableBeanFactory beanFactory)

Create a new GenericWebApplicationContext with the given DefaultListableBeanFactory.

Parameters
beanFactory the DefaultListableBeanFactory instance to use for this context

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

Public Methods

public ServletContext getServletContext ()

Return the standard Servlet API ServletContext for this application.

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

public Theme getTheme (String themeName)

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

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.

public void setServletContext (ServletContext servletContext)

Set the ServletContext that this WebApplicationContext runs in.

Protected Methods

protected ConfigurableEnvironment createEnvironment ()

Create and return a new DefaultWebEnvironment.

protected Resource getResourceByPath (String path)

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

Parameters
path the path to the resource
Returns
  • the corresponding Resource handle

protected ResourcePatternResolver getResourcePatternResolver ()

This implementation supports pattern matching in unexpanded WARs too.

Returns
  • the ResourcePatternResolver for this context

protected void initPropertySources ()

Replace any stub property sources with actual instances.

Replace Servlet-related property sources.

protected void onRefresh ()

Initialize the theme capability.

protected void postProcessBeanFactory (ConfigurableListableBeanFactory beanFactory)

Register ServletContextAwareProcessor.

Parameters
beanFactory the bean factory used by the application context