Di(2)
-
수정자 DI, 생성자 DI
스프링 DI 방법 2가지 Dependency Injection(의존관계 주입) 강한 결합 객체 내부에서 다른 객체를 생성하면 강한 결합도를 갖게된다. A 클래스 내부에서 B라는 객체를 직접 생성할 경우, B 객체를 C로 변경해야 한다면 A 클래스 내부의 코드를 직접 수정해야한다. 런타임 이전에 의존관계가 이미 형성된다. 느슨한 결합 객체를 주입받는다는 것은 외부에서 생성된 객체를 인터페이스를 통해 넘겨받는 것을 의미한다. 이는 결합도를 낮추고 런타임 시에 의존관계가 결정된다. 스프링에서는 의존관계 주입을 통해 객체 간 느슨한 결합을 유지할 수 있는데, 대표적으로 의존관계를 주입할 수 있는 Setter 주입과 생성자 주입에 대해 알아보자. 1. Setter 주입 IDE의 자동생성 기능으로 setter 메소..
2022.11.02 -
[토비의 스프링 3.1] 1.7 의존관계 주입(DI)
스프링의 IoC에 대해 좀 더 깊이 알아보자. 1.7.1 제어의 역전(IoC)과 의존관계 주입 DaoFactory처럼 객체를 생성하고 관계를 맺어주는 등의 작업을 담당하는 기능을 일반화 한 것이 스프링의 IoC 컨테이너다. 스프링 IoC 기능의 대표적인 동작원리는 주로 의존관계 주입이라고 불린다. 스프링이 여타 프레임워크와 차별화돼서 제공해주는 기능은 의존관계 주입이라는 새로운 용어를 사용할 때 분명하게 드러난다. DI의 핵심은 오브젝트 레퍼런스를 외부로부터 제공(주입)받고 이를 통해 다른 오브젝트와 다양하게 의존관계가 만들어진다는 것이다. 1.7.2 런타임 의존관계 설정 의존관계란? 두 개의 클래스 모듈이 의존관계에 있다고 말할 때에는 항상 방향성이 있어야 한다. 즉 누가 누구에게 의존하는 관계에 있다..
2022.05.28