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

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

作成:2015-07-11 08:56
更新:2015-07-11 08:56

■コンポーネントを利用する

では、コンポーネントを実際に利用しましょう。App.javaを開き、下のソースコードのように書き換えてください。そして実行してみましょう。

*print by BeanHolder*」という表示の下に、SampleBeanの出力がされます。BeanHolderが取得され、その中でSampleBeanを使って処理を実行しているのがよくわかりますね。

ここでは、AnnotationConfigApplicationContextインスタンスを作成した後、getBeanで「BeanHolder.class」を引数に指定してBeanHolderインスタンスを取得しています。BeanHolderは、Bean設定クラス(SampleBeanConfig)には記述されていません。が、ちゃんとgetBeanで取り出せるのです。

これは、Bean設定ファイルの@ComponentScanにより、@Componentを指定されたクラスが検索され、そのインスタンスがApplicationContextに登録されているからです。またその内部では、@Autowiredにより、SampleBeanが自動的にフィールドに設定されていたので、その値がshowMessageで出力されていた、というわけです。

このように、アノテーションを使うと、必要なBeanやコンポーネント類がすべて自動的に用意され使えるようになります。Spring FrameworkのBean利用の基本的な仕組みが、これでだいぶわかってきたのではないでしょうか。

DIによるBeanの利用は、Spring Frameworkの中核をなす技術です。Spring Frameworkにはさまざまなライブラリが用意されていますが、それらはすべて、このBean技術を使って必要な機能をBean化し、利用しています。Bean利用がわからないと、Spring Frameworkの基本的な使い方が理解できないのです。これらは「Spring Frameworkの基本中の基本」として、しっかり理解しておきましょう。

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

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);
        BeanHolder holder = app.getBean(BeanHolder.class);
        holder.showMessage();
    }
}

※関連コンテンツ

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