unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Spring FrameworkにおけるBeansとは

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>
参考