liguofeng29’s blog

個人勉強用ブログだっす。

Spring4 - ApplicationContext

一般的にはSpringコンテナーとしてBeanFactoryのサブインタフェースであるApplicationContextを利用する。

拡張機能

  • singletonのBeanをデフォルトで初期化し、配置で初期化のキャンセルもできる
  • MessageSourceインタフェースを継承し、国際化を提供する
  • リソースアクセス(URL,ファイル)
  • イベント仕組み
  • 複数設定ファイル読み込み

ApplicationContextのsingoleTon検証

package app.impl;

import app.Pen;
import app.Person;

public class Japanese implements Person{
// 略
    public Japanese(String name, int age) {
        System.out.println("生成されました");
    // this.name = name;
    // this.age = age;
    }

// 略}

beansSingletonTest.xml

<?xml version="1.0" encoding="GBK"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
    <!-- Bean定義 -->
    <bean id="person" class="app.impl.Japanese">
        <!-- コンストラクタによるDI  -->
        <constructor-arg value="佐藤"></constructor-arg>
        <constructor-arg value="20"></constructor-arg>
    </bean>
</beans>
package app;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestDI {

    public static void main(String[] args) {
        // コンテナー生成だけでpersonが生成される
        ApplicationContext context = new ClassPathXmlApplicationContext("beansSingletonTest.xml");


    }
}
生成されました