org.springframework.web.context

## Interface ConfigurableWebApplicationContext

- All Superinterfaces:
    ApplicationContext, ApplicationEventPublisher, AutoCloseable, BeanFactory, Closeable, ConfigurableApplicationContext, EnvironmentCapable, HierarchicalBeanFactory, Lifecycle, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver, WebApplicationContext
  All Known Implementing Classes:
    AbstractRefreshableWebApplicationContext, AnnotationConfigWebApplicationContext, GenericWebApplicationContext, StaticWebApplicationContext, XmlWebApplicationContext

      public interface ConfigurableWebApplicationContext
      extends WebApplicationContext, ConfigurableApplicationContext

  Interface to be implemented by configurable web application contexts. Supported by `ContextLoader` and `FrameworkServlet`.

  Note: The setters of this interface need to be called before an invocation of the `ConfigurableApplicationContext.refresh()` method inherited from `ConfigurableApplicationContext`. They do not cause an initialization of the context on their own.

  Since:
    05.12.2003
  Author:
    Juergen Hoeller
  See Also:
    `ConfigurableApplicationContext.refresh()`, `ContextLoader.createWebApplicationContext(javax.servlet.ServletContext)`, `FrameworkServlet.createWebApplicationContext(org.springframework.context.ApplicationContext)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `APPLICATION_CONTEXT_ID_PREFIX` Prefix for ApplicationContext ids that refer to context path and/or servlet name.
    `static String` | `SERVLET_CONFIG_BEAN_NAME` Name of the ServletConfig environment bean in the factory.

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String[]` | `getConfigLocations()` Return the config locations for this web application context, or `null` if none specified.
    `String` | `getNamespace()` Return the namespace for this web application context, if any.
    `ServletConfig` | `getServletConfig()` Return the ServletConfig for this web application context, if any.
    `void` | `setConfigLocation(String configLocation)` Set the config locations for this web application context in init-param style, i.e.
    `void` | `setConfigLocations(String[] configLocations)` Set the config locations for this web application context.
    `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.

    - ### Methods inherited from interface org.springframework.web.context.WebApplicationContext

      `getServletContext`

    - ### Methods inherited from interface org.springframework.context.ConfigurableApplicationContext

      `addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent`

    - ### Methods inherited from interface org.springframework.context.ApplicationContext

      `getApplicationName, 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`

- - ### Field Detail

    - #### APPLICATION_CONTEXT_ID_PREFIX

          static final String APPLICATION_CONTEXT_ID_PREFIX

      Prefix for ApplicationContext ids that refer to context path and/or servlet name.

    - #### SERVLET_CONFIG_BEAN_NAME

          static final String SERVLET_CONFIG_BEAN_NAME

      Name of the ServletConfig environment bean in the factory.
      See Also:
        `ServletConfig`, Constant Field Values

  - ### Method Detail

    - #### setServletContext

          void setServletContext(ServletContext servletContext)

      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.

      See Also:
        `ConfigurableApplicationContext.refresh()`

    - #### setServletConfig

          void setServletConfig(ServletConfig servletConfig)

      Set the ServletConfig for this web application context. Only called for a WebApplicationContext that belongs to a specific Servlet.
      See Also:
        `ConfigurableApplicationContext.refresh()`

    - #### getServletConfig

          ServletConfig getServletConfig()

      Return the ServletConfig for this web application context, if any.

    - #### setNamespace

          void setNamespace(String namespace)

      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

          String getNamespace()

      Return the namespace for this web application context, if any.

    - #### setConfigLocation

          void setConfigLocation(String configLocation)

      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.

    - #### setConfigLocations

          void setConfigLocations(String[] configLocations)

      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.

    - #### getConfigLocations

          String[] getConfigLocations()

      Return the config locations for this web application context, or `null` if none specified.