IoC란?
- 제어권 역전
- 생성, 생명주기 관리까지 모든 객체에 대한 제어권이 바뀌었음을 의미
IoC Container
- Spring Framework도 객체에 대한 생성 및 생명주기를 관리할 수 있는 기능
- IoC Container는 객체의 생성을 책임지고, 의존성을 관리한다.
- POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가진다.
- 개발자는 직접 POJO를 생성할 수 있지만 컨테이너에 맡긴다.
- 장점: 개발자는 객체 관리를 컨테이너 맡기고, 로직에만 집중할 수 있다.
IoC 종류
DL(Dependency Lookup)
저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Lookup 하는 것
DI(Dependency Injection): 의존성 주입
각 클래스 간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것
내가 이해한 IoC Container
- 주문서= xml, annotation
- Container= 주문서 내용(부품)을 담을 그릇
- Container는 부품들을 조립도 해주고 생성도 해준다.
- 작은 부품 먼저 생성하고, 큰 부품은 작은 부품을 결합해서(주입) 생성한다.
- 결합 순서가 역순이다(작은 부품-> 큰 부품). 그래서 IoC!
'Interview' 카테고리의 다른 글
Spring framework로 개발한 이유는? Spring의 장점을 설명해보세요 (0) | 2022.03.24 |
---|