💻Study/Spring
스프링 없이 DI 해보기
으노니
2021. 2. 11. 23:26
** 소스 구성
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 소스 코드 수정이 필요하다. 기업형 어플리케이션에서는 이처럼 소스 코드를 수정해야 할 일이 많은데 그때마다 소스 코드를 직접 수정해야 한다면 여간 귀찮은 일이 아닐 수 없다. 따라서 코드 수정을 최대한 줄이는 것이 유지 보수를 쉽게 하는 방법일 것이다. 코드 수정 없이 이것이 가능하게 하려면 소스 안에 객체 조립 과정이 있는 것이 아니라 외부 설정에 있어야 한다. => 스프링에는 이런 능력이 있다!
뉴렉처 스프링 프레임워크 강의를 듣고 정리한 게시글입니다.