BeanWiring 의 정의

빈 선언

Untitled

인터페이스 구현

public interface Performer { // 공연자
	//공연하다. (추상메서드) , PerfomanceException으로 예외 던져줌
	public void perform() throws PerformanceException;
}

예외처리 클래스

public class PerformanceException extends Exception {
	
}

메인 클래스

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

public class BeanWiringTest {
	public static void main( String[] args ) throws PerformanceException {
//		// 강한 결합
//		Juggler kim = new Juggler();
//		kim.perform();
//		
//		// 느슨한 결합
//		Performer hong = new Juggler();
//		hong.perform();
		
		// DI 종속 객체 주입
		ApplicationContext ctx
			//xml에서 객체를 만들어 받아 쓰기 위해
			= new ClassPathXmlApplicationContext( "/wiring/bean/ApplicationContext.xml" );
		// getBean통해 받아오면 Object로 반환되기 때문에, 형변환 해주어야 함.
		Performer hong = (Performer) ctx.getBean( "hong" );
		hong.perform();		
		
		
		// 연습용
		Performer singer = (Performer) ctx.getBean( "singer" );
		singer.perform();
	}
}