アノテーションが付けられていないクラスでも@Component、アノテーションで宣言されているときに Spring コンテキストに登録されることに気付きました@Import。
@Configuration
@Import({MyBean.class})
class MyConfig {
@Bean
Object object(MyBean myBean) { // this works
return new Object();
}
}
class MyBean {} // no annotation here
@Importこの動作は、ドキュメントからはあまり明確ではありません。
これは欲しいですか?それはどこかに文書化されていますか?@component非クラスとクラスのインポートに違いはあります@Componentか?
ドキュメントには次のように記載されています。
@Configuration クラス、ImportSelector および ImportBeanDefinitionRegistrar 実装、および通常のコンポーネント クラスをインポートできます。
「通常のコンポーネント クラス」とは何ですか? 任意のクラスまたは@Component?で注釈が付けられたクラス