Spring Framework初心者である私がSpring BootのGetting Startedガイドを読んでみたときに、いきなり躓いたのがSpringのBeansという概念でした。これまでSpring Frameworkに触ったことがなければ、Beansと聞くとJava Beansをイメージするかもしれませんが、Spring Frameworkでは独自の概念として使われているので注意が必要です。
Spring FrameworkにおけるBeans
Beansとは、Sprint IoC(DI)コンテナが管理(インスタンスの生成や保管)する、アプリケーションを構成するオブジェクトのこと。従来のXMLで設定する方法の他に、Javaのアノテーションでも設定できる(現在はこちらが主流)。
JavaアノテーションでのBeans設定例
Beansを設定するには@Configurationを付与したクラスに@Beanを付与したメソッドを定義する。公式リファレンスでは同じ設定をJavaアノテーションとXMLで定義した以下の例が紹介されている。
@Configuration public class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); } }
<beans> <bean id="myService" class="com.acme.services.MyServiceImpl"/> </beans>