org.springframework.web.context.support

## Class StandardServletEnvironment

- java.lang.Object
- - org.springframework.core.env.AbstractEnvironment
  - - org.springframework.core.env.StandardEnvironment
    - - org.springframework.web.context.support.StandardServletEnvironment

All Implemented Interfaces:
  ConfigurableEnvironment, ConfigurablePropertyResolver, Environment, PropertyResolver, ConfigurableWebEnvironment

    public class StandardServletEnvironment
    extends StandardEnvironment
    implements ConfigurableWebEnvironment

`Environment` implementation to be used by `Servlet`-based web applications. All web-related (servlet-based) `ApplicationContext` classes initialize an instance by default.

Contributes `ServletConfig`, `ServletContext`, and JNDI-based `PropertySource` instances. See `customizePropertySources(org.springframework.core.env.MutablePropertySources)` method documentation for details.

Since:
  3.1
Author:
  Chris Beams
See Also:
  `StandardEnvironment`

### Field Summary

Fields
`static String` `JNDI_PROPERTY_SOURCE_NAME` JNDI property source name: "jndiProperties"
`static String` `SERVLET_CONFIG_PROPERTY_SOURCE_NAME` Servlet config init parameters property source name: "servletConfigInitParams"
`static String` `SERVLET_CONTEXT_PROPERTY_SOURCE_NAME` Servlet context init parameters property source name: "servletContextInitParams"

### Fields inherited from class org.springframework.core.env.StandardEnvironment

`SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME`

### Fields inherited from class org.springframework.core.env.AbstractEnvironment

`ACTIVE_PROFILES_PROPERTY_NAME, DEFAULT_PROFILES_PROPERTY_NAME, logger, RESERVED_DEFAULT_PROFILE_NAME`

### Constructor Summary

Constructors
Constructor and Description
`StandardServletEnvironment()`

### Method Summary

Methods
`protected void` `customizePropertySources(MutablePropertySources propertySources)` Customize the set of property sources with those contributed by superclasses as well as those appropriate for standard servlet-based environments: "servletConfigInitParams" "servletContextInitParams" "jndiProperties"
`void` `initPropertySources(ServletContext servletContext, ServletConfig servletConfig)` Replace any stub property source instances acting as placeholders with real servlet context/config property sources using the given parameters.

### Methods inherited from class org.springframework.core.env.AbstractEnvironment

`acceptsProfiles, addActiveProfile, containsProperty, doGetActiveProfiles, doGetDefaultProfiles, getActiveProfiles, getConversionService, getDefaultProfiles, getProperty, getProperty, getProperty, getProperty, getPropertyAsClass, getPropertySources, getRequiredProperty, getRequiredProperty, getReservedDefaultProfiles, getSystemEnvironment, getSystemProperties, isProfileActive, merge, resolvePlaceholders, resolveRequiredPlaceholders, setActiveProfiles, setConversionService, setDefaultProfiles, setIgnoreUnresolvableNestedPlaceholders, setPlaceholderPrefix, setPlaceholderSuffix, setRequiredProperties, setValueSeparator, toString, validateProfile, validateRequiredProperties`

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

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

### Methods inherited from interface org.springframework.core.env.ConfigurableEnvironment

`addActiveProfile, getPropertySources, getSystemEnvironment, getSystemProperties, merge, setActiveProfiles, setDefaultProfiles`

### Methods inherited from interface org.springframework.core.env.Environment

`acceptsProfiles, getActiveProfiles, getDefaultProfiles`

### Methods inherited from interface org.springframework.core.env.ConfigurablePropertyResolver

`getConversionService, setConversionService, setIgnoreUnresolvableNestedPlaceholders, setPlaceholderPrefix, setPlaceholderSuffix, setRequiredProperties, setValueSeparator, validateRequiredProperties`

### Methods inherited from interface org.springframework.core.env.PropertyResolver

`containsProperty, getProperty, getProperty, getProperty, getProperty, getPropertyAsClass, getRequiredProperty, getRequiredProperty, resolvePlaceholders, resolveRequiredPlaceholders`

### Field Detail

#### SERVLET_CONTEXT_PROPERTY_SOURCE_NAME

    public static final String SERVLET_CONTEXT_PROPERTY_SOURCE_NAME

Servlet context init parameters property source name: "servletContextInitParams"

See Also:
  Constant Field Values

#### SERVLET_CONFIG_PROPERTY_SOURCE_NAME

    public static final String SERVLET_CONFIG_PROPERTY_SOURCE_NAME

Servlet config init parameters property source name: "servletConfigInitParams"

See Also:
  Constant Field Values

#### JNDI_PROPERTY_SOURCE_NAME

    public static final String JNDI_PROPERTY_SOURCE_NAME

JNDI property source name: "jndiProperties"

See Also:
  Constant Field Values

### Constructor Detail

#### StandardServletEnvironment

    public StandardServletEnvironment()

### Method Detail

#### customizePropertySources

    protected void customizePropertySources(MutablePropertySources propertySources)

Customize the set of property sources with those contributed by superclasses as well as those appropriate for standard servlet-based environments:

- "servletConfigInitParams"
- "servletContextInitParams"
- "jndiProperties"

Properties present in "servletConfigInitParams" will take precedence over those in "servletContextInitParams", and properties found in either of the above take precedence over those found in "jndiProperties".

Properties in any of the above will take precedence over system properties and environment variables contributed by the `StandardEnvironment` superclass.

The `Servlet`-related property sources are added as `stubs` at this stage, and will be fully initialized once the actual `ServletContext` object becomes available.

Overrides:
  `customizePropertySources` in class `StandardEnvironment`
See Also:
  `StandardEnvironment.customizePropertySources(org.springframework.core.env.MutablePropertySources)`, `AbstractEnvironment.customizePropertySources(org.springframework.core.env.MutablePropertySources)`, `ServletConfigPropertySource`, `ServletContextPropertySource`, `JndiPropertySource`, `AbstractApplicationContext.initPropertySources()`, `initPropertySources(ServletContext, ServletConfig)`

#### initPropertySources

    public void initPropertySources(ServletContext servletContext,
                           ServletConfig servletConfig)

Description copied from interface: `ConfigurableWebEnvironment`
Replace any stub property source instances acting as placeholders with real servlet context/config property sources using the given parameters.

Specified by:
  `initPropertySources` in interface `ConfigurableWebEnvironment`
Parameters:
  `servletContext` - the `ServletContext` (may not be `null`)
  `servletConfig` - the `ServletConfig` (`null` if not available)
See Also:
  `WebApplicationContextUtils.initServletPropertySources( org.springframework.core.env.MutablePropertySources, ServletContext, ServletConfig)`