libro
www.tuyano.com
初心者のためのSpring Framework入門

アノテーションによるDIの実装 (3/5)

作成:2015-07-11 08:48
更新:2015-07-11 08:57

■Appクラスを修正する

では、作成したBean設定クラスを利用して、Beanを取得するようにアプリケーションクラスを修正しましょう。App.javaを、下のソース・コードのように書き換えて下さい。

実行してみると、「SampleBean [message=設定クラスで作ったインスタンスです。]」といったテキストが出力されます。SampleBeanConfigクラスの@Bean指定したメソッド(sampleBean)でnewしたインスタンスが得られ、利用されていることがわかるでしょう。

今回は、bean.xmlを利用した場合とはちょっと違ったやり方をしています。簡単にまとめましょう。

1. ApplicationContextを取得する
ApplicationContext app = new 
    AnnotationConfigApplicationContext
(SampleBeanConfig.class);
まず、ApplicationContextインスタンスを作成します。これは同じですが、よく見ると使っているクラスが違っていますね。今回は「AnnotationConfigApplicationContext」というクラスのインスタンスを作成しています。

これは、Bean設定クラスを利用してApplicationConfigを作成するためのものです。引数には、設定クラスのClass値を指定します。これで、その設定クラスからBeanを管理するApplicationContextが作成されます。

2. Beanを取得する
SampleBeanInterface bean1 = 
    (SampleBeanInterface)app.getBean(SampleBeanInterface.class);


Beanの取得は、これまでとまったく同じです。「getBean」メソッドを使い、引数に取り出すBeanのClassを指定するだけです。これでそのBeanのインスタンスが得られます。

引数には、取得するBeanクラスのClass値を指定します。これで、指定クラスのBeanが得られます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package com.tuyano.libro;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class App {

    public static void main(String[] args) {
        ApplicationContext app = new 
            AnnotationConfigApplicationContext(SampleBeanConfig.class);
        SampleBeanInterface bean1 = 
            (SampleBeanInterface)app.getBean(SampleBeanInterface.class);
        System.out.println(bean1);
    }
}

※関連コンテンツ

「初心者のためのSpring Framework入門」に戻る