クラス AbstractBeanDefinitionReader
- 実装されたすべてのインターフェース:
BeanDefinitionReader
,EnvironmentCapable
BeanDefinitionReader
インターフェースを実装する Bean 定義リーダーの抽象基本クラス。作業する Bean ファクトリや Bean クラスのロードに使用するクラスローダーなどの一般的なプロパティを提供します。
- 導入:
- 11.12.2003
- 作成者:
- Juergen Hoeller, Chris Beams
- 関連事項:
フィールドのサマリー
フィールドコンストラクターのサマリー
コンストラクター修飾子コンストラクター説明protected
指定された Bean ファクトリ用に新しい AbstractBeanDefinitionReader を作成します。メソッドのサマリー
修飾子と型メソッド説明Bean クラスに使用するクラスローダーを返します。匿名 Bean に使用するBeanNameGenerator
を返します(明示的な Bean 名は指定されていません)。このコンポーネントに関連付けられているEnvironment
を返します。final BeanDefinitionRegistry
Bean 定義を登録する Bean ファクトリを返します。リソースの場所に使用するResourceLoader
を返します。int
loadBeanDefinitions
(StringSE location) 指定されたリソースの場所から Bean 定義をロードします。int
loadBeanDefinitions
(StringSE... locations) 指定されたリソースの場所から Bean 定義をロードします。int
loadBeanDefinitions
(StringSE location, SetSE<Resource> actualResources) 指定されたリソースの場所から Bean 定義をロードします。int
loadBeanDefinitions
(Resource... resources) 指定されたリソースから Bean 定義をロードします。void
setBeanClassLoader
(ClassLoaderSE beanClassLoader) Bean クラスに使用する ClassLoader を設定します。void
setBeanNameGenerator
(BeanNameGenerator beanNameGenerator) 匿名 Bean に使用する BeanNameGenerator を設定します(明示的な Bean 名は指定されません)。void
setEnvironment
(Environment environment) Bean 定義を読み取るときに使用する環境を設定します。void
setResourceLoader
(ResourceLoader resourceLoader) リソースの場所に使用する ResourceLoader を設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.support.BeanDefinitionReader から継承されたメソッド
loadBeanDefinitions
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractBeanDefinitionReader
指定された Bean ファクトリ用に新しい AbstractBeanDefinitionReader を作成します。渡された Bean ファクトリが BeanDefinitionRegistry インターフェースだけでなく ResourceLoader インターフェースも実装する場合、デフォルトの ResourceLoader としても使用されます。これは通常、
ApplicationContext
実装の場合です。プレーンな BeanDefinitionRegistry を指定した場合、デフォルトの ResourceLoader は
PathMatchingResourcePatternResolver
になります。渡された Bean ファクトリも
EnvironmentCapable
を実装している場合、その環境はこのリーダーによって使用されます。それ以外の場合、リーダーはStandardEnvironment
を初期化して使用します。すべての ApplicationContext 実装は EnvironmentCapable ですが、通常の BeanFactory 実装はそうではありません。- パラメーター:
registry
- Bean 定義を BeanDefinitionRegistry の形式でロードする BeanFactory- 関連事項:
メソッドの詳細
getRegistry
インターフェースからコピーされた説明:BeanDefinitionReader
Bean 定義を登録する Bean ファクトリを返します。ファクトリは
BeanDefinitionRegistry
インターフェースを介して公開され、Bean 定義の処理に関連するメソッドをカプセル化します。- 次で指定:
- インターフェース
BeanDefinitionReader
のgetRegistry
setResourceLoader
リソースの場所に使用する ResourceLoader を設定します。ResourcePatternResolver を指定する場合、Bean 定義リーダーはリソースパターンをリソース配列に解決できます。デフォルトは PathMatchingResourcePatternResolver で、ResourcePatternResolver インターフェースを介してリソースパターンを解決することもできます。
これを
null
に設定すると、この Bean 定義リーダーでは絶対的なリソースの読み込みが利用できないことを示します。getResourceLoader
インターフェースからコピーされた説明:BeanDefinitionReader
リソースの場所に使用するResourceLoader
を返します。特定のリソースパターンに対して複数のリソースをロードするために、
ResourcePatternResolver
インターフェースをチェックし、それに応じてキャストできます。null
の戻り値は、この Bean 定義リーダーでは絶対的なリソースの読み込みが利用できないことを示しています。これは主に、たとえば XML Bean 定義の "import" タグを介して、Bean 定義リソース内からさらにリソースをインポートするために使用されることを目的としています。ただし、定義するリソースに関連してそのようなインポートを適用することをお勧めします。明示的な完全なリソースの場所のみが、絶対パスベースのリソースの読み込みをトリガーします。
リソースの場所(または場所のパターン)から Bean 定義をロードするために使用できる
loadBeanDefinitions(String)
メソッドもあります。これは、明示的なResourceLoader
処理を回避するのに便利です。setBeanClassLoader
Bean クラスに使用する ClassLoader を設定します。デフォルトは
null
です。これは、Bean クラスを先行してロードするのではなく、Bean 定義をクラス名で登録し、対応するクラスを後で解決する(または解決しない)ことを推奨します。getBeanClassLoader
インターフェースからコピーされた説明:BeanDefinitionReader
Bean クラスに使用するクラスローダーを返します。null
は、Bean クラスを先行してロードするのではなく、Bean 定義をクラス名に登録し、対応するクラスを後で解決する(または決して解決しない)ことをお勧めします。- 次で指定:
- インターフェース
BeanDefinitionReader
のgetBeanClassLoader
setEnvironment
Bean 定義を読み取るときに使用する環境を設定します。ほとんどの場合、プロファイル情報を評価して、どの Bean 定義を読み取り、どれを省略すべきかを決定するために使用されます。getEnvironment
インターフェースからコピーされた説明:EnvironmentCapable
このコンポーネントに関連付けられているEnvironment
を返します。- 次で指定:
- インターフェース
EnvironmentCapable
のgetEnvironment
setBeanNameGenerator
匿名 Bean に使用する BeanNameGenerator を設定します(明示的な Bean 名は指定されません)。デフォルトは
DefaultBeanNameGenerator
です。getBeanNameGenerator
インターフェースからコピーされた説明:BeanDefinitionReader
匿名 Bean に使用するBeanNameGenerator
を返します(明示的な Bean 名は指定されていません)。- 次で指定:
- インターフェース
BeanDefinitionReader
のgetBeanNameGenerator
loadBeanDefinitions
インターフェースからコピーされた説明:BeanDefinitionReader
指定されたリソースから Bean 定義をロードします。- 次で指定:
- インターフェース
BeanDefinitionReader
のloadBeanDefinitions
- パラメーター:
resources
- リソース記述子- 戻り値:
- 見つかった Bean 定義の数
- 例外:
BeanDefinitionStoreException
- ロードまたは解析エラーの場合
loadBeanDefinitions
インターフェースからコピーされた説明:BeanDefinitionReader
指定されたリソースの場所から Bean 定義をロードします。この Bean 定義リーダーの
ResourceLoader
がResourcePatternResolver
である場合、ロケーションはロケーションパターンにすることもできます。- 次で指定:
- インターフェース
BeanDefinitionReader
のloadBeanDefinitions
- パラメーター:
location
- この Bean 定義リーダーのResourceLoader
(またはResourcePatternResolver
)でロードされるリソースの場所- 戻り値:
- 見つかった Bean 定義の数
- 例外:
BeanDefinitionStoreException
- ロードまたは解析エラーの場合- 関連事項:
loadBeanDefinitions
public int loadBeanDefinitions(StringSE location, @Nullable SetSE<Resource> actualResources) throws BeanDefinitionStoreException 指定されたリソースの場所から Bean 定義をロードします。この Bean 定義リーダーの ResourceLoader が ResourcePatternResolver である場合、ロケーションはロケーションパターンにすることもできます。
- パラメーター:
location
- この Bean 定義リーダーの ResourceLoader(または ResourcePatternResolver)とともにロードされるリソースの場所actualResources
- ロードプロセス中に解決された実際の Resource オブジェクトで埋められるセット。呼び出し元がそれらの Resource オブジェクトに興味がないことを示すnull
の場合があります。- 戻り値:
- 見つかった Bean 定義の数
- 例外:
BeanDefinitionStoreException
- ロードまたは解析エラーの場合- 関連事項:
loadBeanDefinitions
インターフェースからコピーされた説明:BeanDefinitionReader
指定されたリソースの場所から Bean 定義をロードします。- 次で指定:
- インターフェース
BeanDefinitionReader
のloadBeanDefinitions
- パラメーター:
locations
- この Bean 定義リーダーのResourceLoader
(またはResourcePatternResolver
)でロードされるリソースの場所- 戻り値:
- 見つかった Bean 定義の数
- 例外:
BeanDefinitionStoreException
- ロードまたは解析エラーの場合