Interface | Description |
---|---|
ExternalizedComponentDefinitionLoader |
外部化されたコンポーネント定義をロードするインタフェース。
外部化されたコンポーネント定義には、設定ファイル以外の例えばシステムプロパティや
OS環境変数などで指定された値などが該当する。
|
Class | Description |
---|---|
AnnotationComponentDefinitionLoader |
アノテーションが付与されたクラスをコンポーネントとして読み込む
ExternalizedComponentDefinitionLoader 。
このローダーはSystemRepositoryComponent が付与されたクラスをコンポーネントとして読み込む。
読み込む対象となるパッケージはAnnotationComponentDefinitionLoader.getBasePackage() で取得する。
ローダーの使用時にサブクラスを作成し、オーバーライドすること。 |
CompositeExternalizedLoader |
複数の
ExternalizedComponentDefinitionLoader を組み合わせたローダー。
このクラスは、コンストラクタで指定したローダーのリストを順番に実行していき、
各ローダーが読み込んだ結果を1つにマージして返却する。
既に読み込まれているコンポーネントと同じ名前のコンポーネントが読み込まれた場合は、
後から読み込まれたコンポーネントで上書きされる。 |
OsEnvironmentVariableExternalizedLoader |
OS環境変数をコンポーネント定義として読み込む
ExternalizedComponentDefinitionLoader 。
このローダーは、読み込み済みのコンポーネントの名前を元に、OS環境変数を検索する。このとき、OS環境変数で使用できる文字種に制限があることを踏まえて、コンポーネント名を 次のように変換してから検索する。 ドット( "." )とハイフン("-" )をアンダーバー("_" )に置換する
小文字を大文字に変換する(String.toUpperCase() )
つまり、"foo-bar.fizz-buzz" という名前のコンポーネントが存在した場合は、
"FOO_BAR_FIZZ_BUZZ" という名前でOS環境変数が検索されることになる。
変換後の名前でOS環境変数が見つかった場合は、その値をString のコンポーネントとして読み込む。 |
SystemPropertyExternalizedLoader |
システムプロパティをコンポーネント定義として読み込む
ExternalizedComponentDefinitionLoader 。
このローダーは、システムプロパティで指定されている値をすべてString のコンポーネントとしてロードする。 |