# 程序包org.springframework.core.env的分层结构

程序包分层结构:

- 所有程序包

## 类分层结构

- java.lang.Object
  - org.springframework.core.env.AbstractEnvironment (implements org.springframework.core.env.ConfigurableEnvironment)
    - org.springframework.core.env.StandardEnvironment
  - org.springframework.core.env.AbstractPropertyResolver (implements org.springframework.core.env.ConfigurablePropertyResolver)
    - org.springframework.core.env.PropertySourcesPropertyResolver
  - org.springframework.core.env.MutablePropertySources (implements org.springframework.core.env.PropertySources)
  - org.springframework.core.env.PropertySource<T>
    - org.springframework.core.env.EnumerablePropertySource<T>
      - org.springframework.core.env.CommandLinePropertySource<T>
        - org.springframework.core.env.JOptCommandLinePropertySource
        - org.springframework.core.env.SimpleCommandLinePropertySource
      - org.springframework.core.env.CompositePropertySource
      - org.springframework.core.env.MapPropertySource
        - org.springframework.core.env.PropertiesPropertySource
        - org.springframework.core.env.SystemEnvironmentPropertySource
    - org.springframework.core.env.PropertySource.StubPropertySource
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.IllegalStateException
          - org.springframework.core.env.MissingRequiredPropertiesException

## 接口分层结构

- org.springframework.core.env.EnvironmentCapable
- java.lang.Iterable<T>
  - org.springframework.core.env.PropertySources
- org.springframework.core.env.PropertyResolver
  - org.springframework.core.env.ConfigurablePropertyResolver
    - org.springframework.core.env.ConfigurableEnvironment (并 extends org.springframework.core.env.Environment)
  - org.springframework.core.env.Environment
    - org.springframework.core.env.ConfigurableEnvironment (并 extends org.springframework.core.env.ConfigurablePropertyResolver)