본문 바로가기

💻Study/Spring

스프링 없이 DI 해보기

** 소스 구성

Exam은 NewlecExam의 인터페이스

ExamConsole은 InlineExamConsole과 GridExamConsole의 인터페이스

(전체 소스 코드는 www.newlecture.com/ 참고)

 

 

public class Program {
	public static void main(String[] args) {
		Exam exam = new NewlecExam();
		ExamConsole console = new InlineExamConsole(exam); 
		//InlineExamConsole이 exam 객체를 조립하고 있다 => DI
//		ExamConsole console = new GridExamConsole(exam); 
		console.print(); //총점을 출력하는 함수
	}
}

 

 

InlineExamConsole을 GridExamConsole으로 바꿔야 하는 상황이 있다고 생각해보자. 위와 같은 상황에서는 반드시 Java 소스 코드 수정이 필요하다. 기업형 어플리케이션에서는 이처럼 소스 코드를 수정해야 할 일이 많은데 그때마다 소스 코드를 직접 수정해야 한다면 여간 귀찮은 일이 아닐 수 없다. 따라서 코드 수정을 최대한 줄이는 것이 유지 보수를 쉽게 하는 방법일 것이다. 코드 수정 없이 이것이 가능하게 하려면 소스 안에 객체 조립 과정이 있는 것이 아니라 외부 설정에 있어야 한다. => 스프링에는 이런 능력이 있다!

 

 


뉴렉처 스프링 프레임워크 강의를 듣고 정리한 게시글입니다.

www.youtube.com/user/newlec1