티스토리 뷰
의존관계(Dependency Relationship)
의존대상이 변하면 함께 변하는 것
의존관계에는 방향성이 있다
의존관계 주입(Dependency Injection)
구체적인 의존 오브젝트와 그것을 사용할 주체, 클라이언트 오브젝트를 런타임 시에 연결해주는 작업
클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. (인터페이스에만 의존)
런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제3의 존재가 결정한다.
의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공(주입)해줌으로써 만들어진다.
의존관계 검색(Dependency Lookup)
의존관계를 외부로부터 주입 받지 않고 스스로 검색
결정과 생성은 IoC로 맡기지만, 이를 능동적으로 컨테이너에게 요청
코드 안에 오브젝트 팩토리 클래스나 스프링 API가 포함됨
ex) getBean()
DI vs DL
DI가 깔끔, 그러나 한 번은 DL을 통해 오브젝트를 가져와야 한다. (다행히 스프링은 미리 만들어 제공)
DL은 검색하는 오브젝트 자신은 빈일 필요가 없으나 DI는 자기 자신과 의존하는 오브젝트 모두가 빈이어야 한다.
'공부 > 토비의 스프링 3.1' 카테고리의 다른 글
XML을 이용한 스프링 설정 (0) | 2019.02.25 |
---|---|
메소드를 이용한 의존관계 주입 (0) | 2019.02.22 |
스코프 (0) | 2019.02.22 |
싱글톤 패턴, 싱글톤 레지스트리 (0) | 2019.02.22 |
[질문] 오브젝트의 동일성과 동등성(p103) (0) | 2019.02.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크