クラス PropertySource<T>
- 型パラメーター:
T
- ソース型
T
の可能性があります。例には、Properties
SE オブジェクト、Map
SE オブジェクト、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
。フィールドサマリー
コンストラクターのサマリー
コンストラクター説明PropertySource
(StringSE name) 指定された名前と、基になるソースとして新しいObject
インスタンスを使用して、新しいPropertySource
を作成します。PropertySource
(StringSE name, T source) 指定された名前とソースオブジェクトで新しいPropertySource
を作成します。メソッドのサマリー
修飾子と型メソッド説明boolean
containsProperty
(StringSE name) このPropertySource
に指定された名前が含まれているかどうかを返します。boolean
このPropertySource
オブジェクトは、次の場合に指定されたオブジェクトと等しくなります。これらが同じインスタンスであり、両方のオブジェクトのname
プロパティが等しい場合getName()
このPropertySource
の名前を返します。abstract ObjectSE
getProperty
(StringSE name) 指定された名前に関連付けられた値を返します。見つからない場合はnull
を返します。このPropertySource
の基になるソースオブジェクトを返します。int
hashCode()
このPropertySource
オブジェクトのname
プロパティから派生したハッシュコードを返します。static PropertySource<?>
コレクションの比較のみを目的としたPropertySource
実装を返します。toString()
現在のログレベルにデバッグが含まれていない場合は、簡潔な出力(型と名前)を生成します。
フィールドの詳細
logger
name
source
コンストラクターの詳細
PropertySource
指定された名前とソースオブジェクトで新しいPropertySource
を作成します。- パラメーター:
name
- 関連する名前source
- ソースオブジェクト
PropertySource
指定された名前と、基になるソースとして新しいObject
インスタンスを使用して、新しいPropertySource
を作成します。実際のソースを照会せず、ハードコードされた値を返す匿名実装を作成する場合のテストシナリオでしばしば役立ちます。
メソッドの詳細
getName
このPropertySource
の名前を返します。プロパティのソース ID と名前の詳細については、クラスレベルの Javadoc を参照してください。
getSource
このPropertySource
の基になるソースオブジェクトを返します。containsProperty
このPropertySource
に指定された名前が含まれているかどうかを返します。この実装は、
getProperty(String)
からのnull
戻り値をチェックするだけです。サブクラスは、可能であれば、より効率的なアルゴリズムを実装したい場合があります。- パラメーター:
name
- 検索するプロパティ名
getProperty
指定された名前に関連付けられた値を返します。見つからない場合はnull
を返します。- パラメーター:
name
- 検索するプロパティ- 関連事項:
equals
次の場合、このPropertySource
オブジェクトは指定されたオブジェクトと同等です。- それらは同じインスタンスです
- 両方のオブジェクトの
name
プロパティが等しい
name
以外のプロパティは評価されません。hashCode
public int hashCode()このPropertySource
オブジェクトのname
プロパティから派生したハッシュコードを返します。toString
現在のログレベルにデバッグが含まれていない場合は、簡潔な出力(型と名前)を生成します。デバッグが有効になっている場合は、PropertySource インスタンスのハッシュコードとすべての名前 / 値プロパティのペアを含む詳細な出力を生成します。この変数の冗長性は、システムプロパティや環境変数などのプロパティソースに任意の数のプロパティペアが含まれている可能性があり、例外やログメッセージの読み取りが困難になる可能性があるため便利です。
named
コレクションの比較のみを目的とした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
の名前