BeanWiring 의 정의
- 스프링은 객체가 자신의 일을 하기 위해서 다른 객체를 직접 찾거나 생성할 필요가 없다.
- 컨테이너가 협업할 객체를 직접 제공한다.
- 이러한 객체간의 연관관계 형성 작업이 종속객체 주입(DI) 이를 와이링이라고 한다.
빈 선언
인터페이스 구현
public interface Performer { // 공연자
//공연하다. (추상메서드) , PerfomanceException으로 예외 던져줌
public void perform() throws PerformanceException;
}
예외처리 클래스
- Exception 을 상속받는 PerformanceException
- 어떤 예외가 올 지 모르기 때문에 모든 예외를 처리해주는 Exception을 사용
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();
}
}