クラス PropertySource<T>

java.lang.ObjectSE
org.springframework.core.env.PropertySource<T>
型パラメーター:
T - ソース型
既知の直属サブクラス
EnumerablePropertySourceJndiPropertySourcePropertySource.StubPropertySource

public abstract class PropertySource<T> extends ObjectSE
名前 / 値プロパティのペアのソースを表す抽象基本クラス。基になるソースオブジェクトは、プロパティをカプセル化する任意の型 T の可能性があります。例には、PropertiesSE オブジェクト、MapSE オブジェクト、ServletContext および ServletConfig オブジェクト(init パラメーターへのアクセス用)が含まれます。PropertySource 型階層を調べて、提供されている実装を確認してください。

PropertySource オブジェクトは通常、単独で使用されるのではなく、PropertySources オブジェクトを通じて使用されます。PropertySources オブジェクトは、プロパティソースを集約し、PropertySources のセット全体で優先順位ベースの検索を実行できる PropertyResolver 実装と連携します。

PropertySource ID は、カプセル化されたプロパティのコンテンツに基づいて決定されるのではなく、PropertySource のみの name に基づいて決定されます。これは、コレクションコンテキストで PropertySource オブジェクトを操作するのに便利です。詳細については、MutablePropertySources および named(String) および toString() メソッドの操作を参照してください。

@Configuration クラスを使用する場合、@PropertySource アノテーションは、プロパティソースを囲む Environment に追加する便利で宣言的な方法を提供することに注意してください。

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

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static class
    実際のプロパティソースをアプリケーションコンテキストの作成時に積極的に初期化できない場合にプレースホルダーとして使用される PropertySource
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected final Log
    protected final StringSE
    protected final T
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    指定された名前と、基になるソースとして新しい Object インスタンスを使用して、新しい PropertySource を作成します。
    PropertySource(StringSE name, T source)
    指定された名前とソースオブジェクトで新しい PropertySource を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    この PropertySource に指定された名前が含まれているかどうかを返します。
    boolean
    この PropertySource オブジェクトは、次の場合に指定されたオブジェクトと等しくなります。これらが同じインスタンスであり、両方のオブジェクトの name プロパティが等しい場合
    この PropertySource の名前を返します。
    abstract ObjectSE
    指定された名前に関連付けられた値を返します。見つからない場合は null を返します。
    この PropertySource の基になるソースオブジェクトを返します。
    int
    この PropertySource オブジェクトの name プロパティから派生したハッシュコードを返します。
    static PropertySource<?>
    コレクションの比較のみを目的とした PropertySource 実装を返します。
    現在のログレベルにデバッグが含まれていない場合は、簡潔な出力(型と名前)を生成します。

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

    clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final Log logger
    • name

      protected final StringSE name
    • source

      protected final T source
  • コンストラクターの詳細

    • PropertySource

      public PropertySource(StringSE name, T source)
      指定された名前とソースオブジェクトで新しい PropertySource を作成します。
      パラメーター:
      name - 関連する名前
      source - ソースオブジェクト
    • PropertySource

      public PropertySource(StringSE name)
      指定された名前と、基になるソースとして新しい Object インスタンスを使用して、新しい PropertySource を作成します。

      実際のソースを照会せず、ハードコードされた値を返す匿名実装を作成する場合のテストシナリオでしばしば役立ちます。

  • メソッドの詳細

    • getName

      public StringSE getName()
      この PropertySource の名前を返します。

      プロパティのソース ID と名前の詳細については、クラスレベルの Javadoc を参照してください。

    • getSource

      public T getSource()
      この PropertySource の基になるソースオブジェクトを返します。
    • containsProperty

      public boolean containsProperty(StringSE name)
      この PropertySource に指定された名前が含まれているかどうかを返します。

      この実装は、getProperty(String) からの null 戻り値をチェックするだけです。サブクラスは、可能であれば、より効率的なアルゴリズムを実装したい場合があります。

      パラメーター:
      name - 検索するプロパティ名
    • getProperty

      @Nullable public abstract ObjectSE getProperty(StringSE name)
      指定された名前に関連付けられた値を返します。見つからない場合は null を返します。
      パラメーター:
      name - 検索するプロパティ
      関連事項:
    • equals

      public boolean equals(@Nullable ObjectSE other)
      次の場合、この PropertySource オブジェクトは指定されたオブジェクトと同等です。
      • それらは同じインスタンスです
      • 両方のオブジェクトの name プロパティが等しい

      name 以外のプロパティは評価されません。

      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      この PropertySource オブジェクトの name プロパティから派生したハッシュコードを返します。
      オーバーライド:
      クラス ObjectSEhashCode 
    • toString

      public StringSE toString()
      現在のログレベルにデバッグが含まれていない場合は、簡潔な出力(型と名前)を生成します。デバッグが有効になっている場合は、PropertySource インスタンスのハッシュコードとすべての名前 / 値プロパティのペアを含む詳細な出力を生成します。

      この変数の冗長性は、システムプロパティや環境変数などのプロパティソースに任意の数のプロパティペアが含まれている可能性があり、例外やログメッセージの読み取りが困難になる可能性があるため便利です。

      オーバーライド:
      クラス ObjectSEtoString 
      関連事項:
    • named

      public static PropertySource<?> named(StringSE name)
      コレクションの比較のみを目的とした PropertySource 実装を返します。

      主に内部使用のためですが、PropertySource オブジェクトのコレクションを指定すると、次のように使用できます。

       List<PropertySource<?>> sources = new ArrayList<>();
       sources.add(new MapPropertySource("sourceA", mapA));
       sources.add(new MapPropertySource("sourceB", mapB));
       assert sources.contains(PropertySource.named("sourceA"));
       assert sources.contains(PropertySource.named("sourceB"));
       assert !sources.contains(PropertySource.named("sourceC"));

      equals(Object)hashCode()toString() 以外のメソッドが呼び出された場合、返された PropertySource は UnsupportedOperationException をスローします。

      パラメーター:
      name - 作成され返される比較 PropertySource の名前