基本概念: @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 コンテナーを作成するさまざまな方法について説明します。