## org.springframework.core.io.support
Class ResourcePropertySource

    java.lang.Object
      org.springframework.core.env.PropertySource<T>
          org.springframework.core.env.EnumerablePropertySource<Map<String,Object>>
              org.springframework.core.env.MapPropertySource
                  org.springframework.core.env.PropertiesPropertySource
                      org.springframework.core.io.support.ResourcePropertySource

    public class ResourcePropertySource

extends PropertiesPropertySource

Subclass of `PropertiesPropertySource` that loads a `Properties` object from a given `Resource` or resource location such as `"classpath:/com/myco/foo.properties"` or `"file:/path/to/file.xml"`. Both traditional and XML-based properties file formats are supported, however in order for XML processing to take effect, the underlying `Resource`'s `getFilename()` method must return non-`null` and end in ".xml".

Since:
  3.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.EnumerablePropertySource
`EMPTY_NAMES_ARRAY, logger`

Fields inherited from class org.springframework.core.env.PropertySource
`name, source`

Constructor Summary
`ResourcePropertySource(Resource resource)` Create a PropertySource based on Properties loaded from the given resource.
`ResourcePropertySource(String location)` Create a PropertySource based on Properties loaded from the given resource location.
`ResourcePropertySource(String location, ClassLoader classLoader)` Create a PropertySource based on Properties loaded from the given resource location and use the given class loader to load the resource, assuming it is prefixed with `classpath:`.
`ResourcePropertySource(String name, Resource resource)` Create a PropertySource having the given name based on Properties loaded from the given resource.
`ResourcePropertySource(String name, String location)` Create a PropertySource having the given name based on Properties loaded from the given resource location.
`ResourcePropertySource(String name, String location, ClassLoader classLoader)` Create a PropertySource having the given name based on Properties loaded from the given resource location and using the given class loader to load the resource (assuming it is prefixed with `classpath:`).

Method Summary

Methods inherited from class org.springframework.core.env.MapPropertySource
`getProperty, getPropertyNames`

Methods inherited from class org.springframework.core.env.EnumerablePropertySource
`containsProperty`

Methods inherited from class org.springframework.core.env.PropertySource
`equals, getName, getSource, hashCode, named, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ResourcePropertySource

    public ResourcePropertySource(String name,
                                  Resource resource)
                           throws IOException

  Create a PropertySource having the given name based on Properties loaded from the given resource.

  Throws:
    `IOException`

### ResourcePropertySource

    public ResourcePropertySource(Resource resource)
                           throws IOException

  Create a PropertySource based on Properties loaded from the given resource. The name of the PropertySource will be generated based on the `description` of the given resource.

  Throws:
    `IOException`

### ResourcePropertySource

    public ResourcePropertySource(String name,
                                  String location,
                                  ClassLoader classLoader)
                           throws IOException

  Create a PropertySource having the given name based on Properties loaded from the given resource location and using the given class loader to load the resource (assuming it is prefixed with `classpath:`).

  Throws:
    `IOException`

### ResourcePropertySource

    public ResourcePropertySource(String name,
                                  String location)
                           throws IOException

  Create a PropertySource having the given name based on Properties loaded from the given resource location. The default thread context class loader will be used to load the resource (assuming the location string is prefixed with `classpath:`.

  Throws:
    `IOException`

### ResourcePropertySource

    public ResourcePropertySource(String location,
                                  ClassLoader classLoader)
                           throws IOException

  Create a PropertySource based on Properties loaded from the given resource location and use the given class loader to load the resource, assuming it is prefixed with `classpath:`. The name of the PropertySource will be generated based on the `description` of the resource.

  Throws:
    `IOException`

### ResourcePropertySource

    public ResourcePropertySource(String location)
                           throws IOException

  Create a PropertySource based on Properties loaded from the given resource location. The name of the PropertySource will be generated based on the `description` of the resource.

  Throws:
    `IOException`