IOC : 제어의 역전
프레임워크가 제공하는 CONTAINER 가 제어권을 가져감
IOC 는 의존관계를 결정한다. 설정한다, 생명주기(LIFECYCLE) 를 해결 하기 위한 디자인패턴
- 객체의 생성 책임, 의존성 관리
- POJO 의 생성, 초기화, 서비스, 소멸에 대한 권한을 가짐
- 개발자들이 직접 POJO 를 생성할 수 있지만 컨테이너에게 맞긴다.
IOC 의 분류
IOC → DL, DI
DI → Setter Injection , Constructor Injection, Method Injection
IOC : Inversion of Control
DL: Dependency Lookup
- 의존성 검색
- EJB ( enterprise java beans)
- SPRING (스프링도 DL 지원한다.
- DL은 특정 컨테이너에 종속되는 API 를 사용함. DI가 더 많이 씀
DI: Dependency Lookup Injection
- SPRING
- picoContainer

DI의 개념
각 클래스간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말함
(xml, anotation 방식으로 빈 간의 관계가 있다는 것을 설정)
컨테이너가 설정관계를 읽어서,
DI 의 유형
Setter Injection - Setter 메서드를 이용한 의존성 삽입
: 의존성을 입력받는 setter 메서드를 만들고 이를 통해 의존성을 주입한다.
Constructor Injection - 생성자를 이용한 의존성 삽입
: 필요한 의존성을 포함하는 클래스의 생성자를 만들고 이를 통해 의존성 주입
Method Injection : 일반 메서드를 이용한 의존성 삽입
: 의존성을 입력받는 일반 메서드를 만들고 이를 통해 의조넝 주입
String DI 컨테이너의 개념
Spring DI 컨테이너가 관리하는 객체 : 빈(bean) 이라고 하고 이 빈(bean)들을 관리한다는 의미로 컨테이너를 빈 펙토리(BeanFactory) 라고 부른다.
댓글
댓글 쓰기