アノテーションインターフェース Import


インポートする 1 つ以上のコンポーネントクラス(通常は @Configuration クラス)を示します。

Spring XML の <import/> 要素と同等の機能を提供します。

@Configuration クラス、ImportSelectorImportBeanDefinitionRegistrarBeanRegistrar 実装、通常のコンポーネントクラス (AnnotationConfigApplicationContext.register(Class...) に類似) をインポートできます。

インポートされた @Configuration クラスで宣言された @Bean 定義には、@Autowired インジェクションを使用してアクセスする必要があります。Bean 自体をオートワイヤーすることも、Bean を宣言する構成クラスインスタンスをオートワイヤーすることもできます。後者のアプローチでは、@Configuration クラスのメソッド間での IDE にわかりやすい明示的なナビゲーションが可能です。

クラスレベルで直接宣言することも、メタアノテーションとして宣言することもできます。クラスレベルで直接宣言された @Import アノテーションは、メタアノテーションとして宣言された @Import アノテーションの後に処理されます。これにより、直接宣言されたインポートは、@Import メタアノテーションを介して登録された Bean をオーバーライドできます。

Spring Framework 7.0 以降、@Configuration クラスによって実装されたインターフェースで宣言された @Import アノテーションもサポートされます。ローカルで宣言された @Import アノテーションは、インターフェース上の @Import アノテーションの後に処理されます。これにより、インターフェースから継承された @Import アノテーションを介して登録された Bean を、ローカルインポートでオーバーライドできます。

XML またはその他の非 @Configuration Bean 定義リソースをインポートする必要がある場合は、代わりに @ImportResource アノテーションを使用してください。

導入:
3.0
作成者:
Chris Beams, Juergen Hoeller
関連事項: