基本概念: @Bean および @Configuration
Spring の Java 構成サポートの中心的な成果物は、@Configuration アノテーション付きクラスと @Bean アノテーション付きメソッドです。
@Bean アノテーションは、メソッドが Spring IoC コンテナーによって管理される新しいオブジェクトをインスタンス化、構成、初期化することを示すために使用されます。Spring の <beans/> XML 構成に精通している場合、@Bean アノテーションは <bean/> 要素と同じロールを果たします。@Bean アノテーション付きメソッドは、任意の Spring @Component で使用できます。ただし、ほとんどの場合、@Configuration Bean で使用されます。
クラスに @Configuration のアノテーションを付けると、その主な目的が Bean 定義のソースであることを示します。さらに、@Configuration クラスでは、同じクラス内の他の @Bean メソッドを呼び出すことにより、Bean 間の依存関係を定義できます。最も単純な @Configuration クラスは次のようになります。
Java
Kotlin
@Configuration
public class AppConfig {
@Bean
public MyServiceImpl myService() {
return new MyServiceImpl();
}
}@Configuration
class AppConfig {
@Bean
fun myService(): MyServiceImpl {
return MyServiceImpl()
}
} 上記の AppConfig クラスは、次の Spring <beans/> XML と同等です。
<beans>
<bean id="myService" class="com.acme.services.MyServiceImpl"/>
</beans>@Bean および @Configuration アノテーションについては、次のセクションで詳しく説明します。ただし、最初に、Java ベースの構成を使用して Spring コンテナーを作成するさまざまな方法について説明します。