public interface ImportBeanDefinitionRegistrar
Configuration
クラスを処理するときに追加の Bean 定義を登録する型によって実装されるインターフェース。(@Bean
メソッド / インスタンスレベルではなく)Bean 定義レベルで操作することが望ましい場合や必要な場合に役立ちます。@Configuration
および ImportSelector
とともに、この型のクラスは @Import
アノテーションに提供される場合があります(または ImportSelector
から返される場合もあります)。
ImportBeanDefinitionRegistrar
は次の Aware
インターフェースのいずれかを実装でき、それぞれのメソッドは registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata, org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.beans.factory.support.BeanNameGenerator)
の前に呼び出されます。
または、クラスは、サポートされている次のパラメーター型の 1 つ以上を備えた単一のコンストラクターを提供する場合があります。
使用例については、実装と関連する単体テストを参照してください。
Import
, ImportSelector
, Configuration
修飾子と型 | メソッドと説明 |
---|---|
default void | registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) インポートする @Configuration クラスの特定のアノテーションメタデータに基づいて、必要に応じて Bean 定義を登録します。 |
default void | registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator) インポートする @Configuration クラスの特定のアノテーションメタデータに基づいて、必要に応じて Bean 定義を登録します。 |
default void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator)
@Configuration
クラスの特定のアノテーションメタデータに基づいて、必要に応じて Bean 定義を登録します。@Configuration
クラスの処理に関連するライフサイクルの制約により、BeanDefinitionRegistryPostProcessor
型はここに登録されない場合があることに注意してください。
デフォルトの実装は registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry)
に委譲します。
importingClassMetadata
- インポートするクラスのアノテーションメタデータ registry
- 現在の Bean 定義レジストリ importBeanNameGenerator
- インポートされた Bean の Bean 名前ジェネレーター戦略: デフォルトでは ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR
、または ConfigurationClassPostProcessor.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
が設定されている場合はユーザー指定の Bean。後者の場合、渡される戦略は、含まれているアプリケーションコンテキストでのコンポーネントスキャンに使用されるものと同じになります(それ以外の場合、デフォルトのコンポーネントスキャンの命名戦略は AnnotationBeanNameGenerator.INSTANCE
です)。ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR
, ConfigurationClassPostProcessor.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
default void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)
@Configuration
クラスの特定のアノテーションメタデータに基づいて、必要に応じて Bean 定義を登録します。@Configuration
クラスの処理に関連するライフサイクルの制約により、BeanDefinitionRegistryPostProcessor
型はここに登録されない場合があることに注意してください。
デフォルトの実装は空です。
importingClassMetadata
- インポートするクラスのアノテーションメタデータ registry
- 現在の Bean 定義レジストリ