前回:[Java]Spring Framework 2.5入門 「コンテナの作成」
前回で、application.xmlファイルを準備して、それを読み込んでApplicationContextを作ることが出来るようになりました。
今回は、このファイルにbeanを登録してみようと思います。
まず、プロジェクトの下準備をします。
NetBeansでspringbeanという名前のプロジェクトを作成し、application.xmlという名前でSpring XML 構成ファイルを作成します。
そして、Greeterというクラスをspringbean.beansパッケージに作成します。
package springbean.beans;
public class Greeter {
public void greet() {
System.out.println("Greeter#greet()");
}
}
この時点のプロジェクトウィンドウの画像を以下に示します。
application.xmlにここで作成したGreeterを登録します。
Springへのクラスの登録は、beanタグを使用します。
beanタグには、以下のような属性が定義できます。
- class
クラス名(パッケージ名ふくむ)
- name
Springから登録されたクラスを取得するために必要な名前
- scope
prototypeやsessioon, request, singletonなんかを指定します
基本的にこれくらい知ってれば、とりあえずは大丈夫です。ということで、Greeterクラスを登録します。
以下のタグをapplication.xmlのbeansタグの中に書けばOK。
<bean name="greeter" class="springbean.beans.Greeter" />
最後に、ここで定義したbeanを取り出す方法について述べます。取り出し方は、ApplicationContextのgetBeanで可能です。
beanタグのnameに指定したもので取り出すことが出来ます。
package springbean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import springbean.beans.Greeter;
public class Main {
public static void main(String[] args) {
// application.xmlをもとにSpringのコンテナを作成する。
ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml");
// Greeterのインスタンスの取得
Greeter g = (Greeter) ctx.getBean("greeter");
g.greet();
}
}
今日はここまで!