org.springframework.core.env

## Class CompositePropertySource

- java.lang.Object
- - org.springframework.core.env.PropertySource<Object>
  - - org.springframework.core.env.CompositePropertySource

    public class CompositePropertySource
    extends PropertySource<Object>

Composite `PropertySource` implementation that iterates over a set of `PropertySource` instances. Necessary in cases where multiple property sources share the same name, e.g. when multiple values are supplied to `@PropertySource`.

Since:
  3.1.1
Author:
  Chris Beams

### Nested Class Summary

### Nested classes/interfaces inherited from class org.springframework.core.env.PropertySource

`PropertySource.StubPropertySource`

### Field Summary

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

`logger, name, source`

### Constructor Summary

Constructors
Constructor and Description
`CompositePropertySource(String name)` Create a new `CompositePropertySource`.

### Method Summary

Methods
`void` `addPropertySource(PropertySource<?> propertySource)`
`Object` `getProperty(String name)` Return the value associated with the given name, `null` if not found.
`String` `toString()` Produce concise output (type and name) if the current log level does not include debug.

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

`containsProperty, equals, getName, getSource, hashCode, named`

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

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

### Constructor Detail

#### CompositePropertySource

    public CompositePropertySource(String name)

Create a new `CompositePropertySource`.

Parameters:
  `name` - the name of the property source

### Method Detail

#### getProperty

    public Object getProperty(String name)

Description copied from class: `PropertySource`
Return the value associated with the given name, `null` if not found.

Specified by:
  `getProperty` in class `PropertySource<Object>`
Parameters:
  `name` - the property to find
See Also:
  `PropertyResolver.getRequiredProperty(String)`

#### addPropertySource

    public void addPropertySource(PropertySource<?> propertySource)

#### toString

    public String toString()

Description copied from class: `PropertySource`
Produce concise output (type and name) if the current log level does not include debug. If debug is enabled, produce verbose output including hashcode of the PropertySource instance and every name/value property pair. This variable verbosity is useful as a property source such as system properties or environment variables may contain an arbitrary number of property pairs, potentially leading to difficult to read exception and log messages.

Overrides:
  `toString` in class `PropertySource<Object>`
See Also:
  `Log.isDebugEnabled()`