org.springframework.web.context.support

## Class ServletContextAttributeExporter

- java.lang.Object
- - org.springframework.web.context.support.ServletContextAttributeExporter

- All Implemented Interfaces:
    Aware, ServletContextAware

      public class ServletContextAttributeExporter
      extends Object
      implements ServletContextAware

  Exporter that takes Spring-defined objects and exposes them as ServletContext attributes. Usually, bean references will be used to export Spring-defined beans as ServletContext attributes.

  Useful to make Spring-defined beans available to code that is not aware of Spring at all, but rather just of the Servlet API. Client code can then use plain ServletContext attribute lookups to access those objects, despite them being defined in a Spring application context.

  Alternatively, consider using the WebApplicationContextUtils class to access Spring-defined beans via the WebApplicationContext interface. This makes client code aware of Spring API, of course.

  Since:
    1.1.4
  Author:
    Juergen Hoeller
  See Also:
    `ServletContext.getAttribute(java.lang.String)`, `WebApplicationContextUtils.getWebApplicationContext(javax.servlet.ServletContext)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServletContextAttributeExporter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setAttributes(Map<String,Object> attributes)` Set the ServletContext attributes to expose as key-value pairs.
    `void` | `setServletContext(ServletContext servletContext)` Set the `ServletContext` that this object runs in.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final Log logger

  - ### Constructor Detail

    - #### ServletContextAttributeExporter

          public ServletContextAttributeExporter()

  - ### Method Detail

    - #### setAttributes

          public void setAttributes(Map<String,Object> attributes)

      Set the ServletContext attributes to expose as key-value pairs. Each key will be considered a ServletContext attributes key, and each value will be used as corresponding attribute value.

      Usually, you will use bean references for the values, to export Spring-defined beans as ServletContext attributes. Of course, it is also possible to define plain values to export.

    - #### setServletContext

          public void setServletContext(ServletContext servletContext)

      Description copied from interface: `ServletContextAware`
      Set the `ServletContext` that this object runs in.

      Invoked after population of normal bean properties but before an init callback like InitializingBean's `afterPropertiesSet` or a custom init-method. Invoked after ApplicationContextAware's `setApplicationContext`.

      Specified by:
        `setServletContext` in interface `ServletContextAware`
      Parameters:
        `servletContext` - ServletContext object to be used by this object
      See Also:
        `InitializingBean.afterPropertiesSet()`, `ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)`