package spring.sample.ioc.sample3.after;

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;

/**
 * インターフェースベースのプログラムサンプルです<br>
 * <PRE>
 * AServiceクラスは、IBServiceインタフェースの機能を使用しているため
 * IBServiceインタフェースの具象クラスが何であるか意識しません
 * 
 * sample3-after.xmlを修正し、AServiceクラスが使用するIBServiceインタフェース
 * の具象クラスBServiceImpl、NewBServiceImplを変更してみて下さい。
 * 　IBServiceインタフェースの具象クラスが変更されても、AServiceには変更を加える
 * 必要がないことを確認できます。
 * 
 * </PRE>
 * @author MBeans
 * @version 1.0
 */
public class Sample3After {

	public static void main(String[] args) {
		Resource resource = new ClassPathResource("/spring/sample/ioc/sample3/after/sample3-after.xml");
		BeanFactory beanFactory = new XmlBeanFactory(resource);
		
		AService aService = (AService)beanFactory.getBean("aservice");
		System.out.println("AServiceの実行結果：" + aService.execute());
	}
}
