package spring.sample.ioc.sample1;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
 * IoCコンテナによる、オブジェクト生成のサンプルです<br>
 * <br>
 * @author MBeans
 * @version 1.0
 */
public class Sample1 {
	private static final Log log = LogFactory.getLog(Sample1.class);

	public static void main(String[] args) {
		// クラスパスにある設定ファイルを読み込みます。
		Resource resource = new ClassPathResource("/spring/sample/ioc/sample1/sample1.xml");
		// リソースから、BeanFactoryのオブジェクトを作成します。
		// これが、コンテナの役割をします。
		BeanFactory beanFactory = new XmlBeanFactory(resource);
		
		// BeanFactoryから名前を指定してオブジェクトを取得します。
		Person taro = (Person)beanFactory.getBean("taro");
		
		System.out.println("Taro Info...");
		System.out.println("id : " + taro.getId());
		System.out.println("name : " + taro.getName());
		System.out.println("age : " + taro.getAge());
		
	}
}
