アノテーションによるDIの実装 (3/5)
作成:2015-07-11 08:48
更新:2015-07-11 08:57
更新:2015-07-11 08:57
■Appクラスを修正する
では、作成したBean設定クラスを利用して、Beanを取得するようにアプリケーションクラスを修正しましょう。App.javaを、下のソース・コードのように書き換えて下さい。
実行してみると、「SampleBean [message=設定クラスで作ったインスタンスです。]」といったテキストが出力されます。SampleBeanConfigクラスの@Bean指定したメソッド(sampleBean)でnewしたインスタンスが得られ、利用されていることがわかるでしょう。
今回は、bean.xmlを利用した場合とはちょっと違ったやり方をしています。簡単にまとめましょう。
1. ApplicationContextを取得する
これは、Bean設定クラスを利用してApplicationConfigを作成するためのものです。引数には、設定クラスのClass値を指定します。これで、その設定クラスからBeanを管理するApplicationContextが作成されます。
2. Beanを取得する
Beanの取得は、これまでとまったく同じです。「getBean」メソッドを使い、引数に取り出すBeanのClassを指定するだけです。これでそのBeanのインスタンスが得られます。
引数には、取得するBeanクラスのClass値を指定します。これで、指定クラスのBeanが得られます。
実行してみると、「SampleBean [message=設定クラスで作ったインスタンスです。]」といったテキストが出力されます。SampleBeanConfigクラスの@Bean指定したメソッド(sampleBean)でnewしたインスタンスが得られ、利用されていることがわかるでしょう。
今回は、bean.xmlを利用した場合とはちょっと違ったやり方をしています。簡単にまとめましょう。
1. ApplicationContextを取得する
ApplicationContext app = newまず、ApplicationContextインスタンスを作成します。これは同じですが、よく見ると使っているクラスが違っていますね。今回は「AnnotationConfigApplicationContext」というクラスのインスタンスを作成しています。
AnnotationConfigApplicationContext(SampleBeanConfig.class);
これは、Bean設定クラスを利用してApplicationConfigを作成するためのものです。引数には、設定クラスのClass値を指定します。これで、その設定クラスからBeanを管理するApplicationContextが作成されます。
2. Beanを取得する
SampleBeanInterface bean1 =
(SampleBeanInterface)app.getBean(SampleBeanInterface.class);
Beanの取得は、これまでとまったく同じです。「getBean」メソッドを使い、引数に取り出すBeanのClassを指定するだけです。これでそのBeanのインスタンスが得られます。
引数には、取得するBeanクラスのClass値を指定します。これで、指定クラスのBeanが得られます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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入門」に戻る