クラス SystemEnvironmentPropertySource


public class SystemEnvironmentPropertySource extends MapPropertySource
システム環境変数で使用するために設計された MapPropertySource の特殊化。ピリオド文字やハイフン文字を含む変数を許可しない Bash およびその他のシェルの制約を補正します。また、シェルをより慣用的に使用するために、プロパティ名の大文字のバリエーションを許可します。

例: getProperty("foo.bar") を呼び出すと、元のプロパティまたは「同等の」プロパティの値が検索され、最初に見つかったものが返されます。

  • foo.bar - 元の名前
  • foo_bar - 期間にアンダースコアを使用 (もしあれば)
  • FOO.BAR - オリジナル、大文字あり
  • FOO_BAR - アンダースコアと大文字
上記のハイフンバリアントも同様に機能し、ドット / ハイフンバリアントを混在させることもできます。

上記のプロパティのいずれかが存在する場合は true を返し、それ以外の場合は false を返す containsProperty(String) の呼び出しにも同じことが当てはまります。

この機能は、アクティブまたはデフォルトのプロファイルを環境変数として指定する場合に特に役立ちます。Bash では、以下は許可されません。

spring.profiles.active=p1 java -classpath ... MyApp
ただし、次の構文は許可されており、より一般的です。
SPRING_PROFILES_ACTIVE=p1 java -classpath ... MyApp

これらの「プロパティ名解決」がいつ発生するかを説明するメッセージに対して、このクラス(またはパッケージ)のデバッグレベルまたはトレースレベルのログを有効にします。

このプロパティソースは、StandardEnvironment およびそのすべてのサブクラスにデフォルトで含まれています。

導入:
3.1
作成者:
Chris Beams, Juergen Hoeller
関連事項:
  • ネストされたクラスのサマリー

    クラス org.springframework.core.env.PropertySource から継承されたネストクラス / インターフェース

    PropertySource.StubPropertySource
  • フィールドサマリー

    クラス org.springframework.core.env.PropertySource から継承されたフィールド

    logger, name, source
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    指定した名前で新しい SystemEnvironmentPropertySource を作成し、指定した MapPropertySource に委譲します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    指定された名前のプロパティまたはそのアンダースコア / 大文字のバリアントがこのプロパティソースに存在する場合、true を返します。
    指定された名前のプロパティまたはそのアンダースコア / 大文字のバリアントがこのプロパティソースに存在する場合、この実装は true を返します。
    protected final StringSE
    このプロパティソースに、指定された名前のプロパティ、またはそのアンダースコア / 大文字のバリエーションが含まれているかどうかを確認します。

    クラス org.springframework.core.env.MapPropertySource から継承されたメソッド

    getPropertyNames

    クラス org.springframework.core.env.PropertySource から継承されたメソッド

    equals, getName, getSource, hashCode, named, toString

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • SystemEnvironmentPropertySource

      public SystemEnvironmentPropertySource(StringSE name, MapSE<StringSE,ObjectSE> source)
      指定した名前で新しい SystemEnvironmentPropertySource を作成し、指定した MapPropertySource に委譲します。
  • メソッドの詳細

    • containsProperty

      public boolean containsProperty(StringSE name)
      指定された名前のプロパティまたはそのアンダースコア / 大文字のバリアントがこのプロパティソースに存在する場合、true を返します。
      オーバーライド:
      クラス MapPropertySourcecontainsProperty 
      パラメーター:
      name - 検索するプロパティの名前
    • getProperty

      @Nullable public ObjectSE getProperty(StringSE name)
      指定された名前のプロパティまたはそのアンダースコア / 大文字のバリアントがこのプロパティソースに存在する場合、この実装は true を返します。
      オーバーライド:
      クラス MapPropertySourcegetProperty 
      パラメーター:
      name - 検索するプロパティ
      関連事項:
    • resolvePropertyName

      protected final StringSE resolvePropertyName(StringSE name)
      このプロパティソースに、指定された名前のプロパティ、またはそのアンダースコア / 大文字のバリエーションが含まれているかどうかを確認します。見つかった場合は解決された名前を返すか、そうでなければ元の名前を返します。null を返しません。