Dependency Injection : 오브젝트 레퍼런스를 외부로부터 제공받아 이를 다른 오브젝트와 다이나믹하게 의존관계를 만들어주는 것, 인터페이스를 통해 의존관계를 제한하여 변경에 자유로워 질 수 있다.
의존관계 주입은 세가지 조건을 충족해야한다.
- 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스에 의존하고 있어야한다.
- 런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제 3의 존재가 결정한다.
- 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공해 줌으로써 만들어진다.
의존 오브젝트 : 오브젝트가 만들어지고 런타임시에 의존관계를 맺는 대상
DI를 원하는 오브젝트는 먼저 자신이 컨테이너가 관리하는 빈이 되어야한다.
DI의 장점은 관심사의 분리를 통해 얻어지는 높은 응집도에서 나온다.
'IT > Spring' 카테고리의 다른 글
REST API (0) | 2019.10.15 |
---|---|
토비 스프링 - XML 이용한 설정 (0) | 2019.10.14 |
토비 스프링 - IoC (0) | 2019.10.13 |
토비 스프링 - 패턴, 객체 지향 (0) | 2019.10.12 |
인터셉터 (0) | 2019.08.27 |
댓글