** 소스 구성
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 소스 코드 수정이 필요하다. 기업형 어플리케이션에서는 이처럼 소스 코드를 수정해야 할 일이 많은데 그때마다 소스 코드를 직접 수정해야 한다면 여간 귀찮은 일이 아닐 수 없다. 따라서 코드 수정을 최대한 줄이는 것이 유지 보수를 쉽게 하는 방법일 것이다. 코드 수정 없이 이것이 가능하게 하려면 소스 안에 객체 조립 과정이 있는 것이 아니라 외부 설정에 있어야 한다. => 스프링에는 이런 능력이 있다!
뉴렉처 스프링 프레임워크 강의를 듣고 정리한 게시글입니다.
'💻Study > Spring' 카테고리의 다른 글
어노테이션을 이용한 객체 생성(@Component) (0) | 2021.02.12 |
---|---|
어노테이션을 이용한 DI (@Autowired, @Qualifier) (0) | 2021.02.12 |
xml을 이용한 스프링 DI 지시서 작성(Spring Bean Configuration), IoC 컨테이너 사용하기 (0) | 2021.02.12 |
DI와 IoC 컨테이너 (0) | 2021.02.11 |
스프링 프레임워크 소개 (0) | 2021.02.11 |