티스토리 뷰

IoC의 개념


IoC(제어권의 역전)이란, 객체의 생성, 생명 주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미하는 디자인 패턴.

-> 프레임워크에서 개발자의 코드에 객체를 주입함으로써 개발자가 신경써야 할 코드를 줄이는 전략.



IoC의 분류


IoC

DL

(Dependency Lookup)

의존성 검색

 저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을

 Lookup하는 것.

DI

(Dependency Injection)

의존성 주입

 각 클래스간의 의존관계를 빈 설정 (Bean Definition) 정보를 바탕으로 컨테이너가 자동으로

 연결해주는 것.

 -> DI의 종류로는 Setter Injection / Constructor Injection / Method Injection 이 있다.

* DL 사용시 컨테이너가 종속성이 증가하여, 주로 DI를 사용.



DI의 개념


 정의

 각 클래스간의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것.

 특징

 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 됨.

 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성.

 컨테이너가 흐름의 주체가 되어 어플리케이션 코드에 의존 관계를 주입.



DI의 유형


 종류

요약 

설명 

 Setter Injection

 Setter 메소드를 통한 의존성 주입

 의존성을 입력받는 Setter 메서드를 만들고 이를 통해 의존성 주입

 Constructor Injection

 생성자를 통한 의존성 주입

 필요한 의존성을 포함하는 클래스의 생성자를 만들고 이를 통해

 의존성을 주입

 Method Injection

 일반 메소드를 이용한 의존성 주입

 의존성을 입력 받는 일반 메서드를 만들고 이를 통해 의존성을 주입




Spring DI 컨테이너의 개념


Spring DI 컨테이너가 관리하는 객체를 빈(Bean)이라고 하고, 빈 들을 관리한다는 의미로 컨테이너를 빈 팩토리(Bean Factory)라고 부름.

 -> Bean Factory에 여러가지 컨테이너 기능을 추가하여 어플리케이션 컨텍스트(Application Context)라고 부름.

 Bean Factory

 - Bean을 등록, 생성, 조회, 반환 관리함.

 - 보통은 BeanFactory를 바로 사용하지 않고, 이를 확장한 Application Context를 사용.

 - getBean() 메소드가 정의되어 있음.

 Application Context

 - Bean을 등록, 생성, 조회, 반환 관리하는 기능은 BeanFactory와 같음

 - Spring의 각종 부가 서비스를 추가로 제공

 - Spring이 제공하는 ApplicationContext 구현 클래스가 여러 가지 종류가 있음.


'Java > Spring' 카테고리의 다른 글

사용자 관리 프로젝트 아키텍쳐  (0) 2017.01.08
Annotation을 이용한 Bean 등록  (0) 2017.01.07
Bean 의존 관계 설정 방법  (0) 2017.01.07
간단한 POJO 클래스를 통한 DI 이해  (0) 2017.01.07
Spring Framework 개요  (0) 2017.01.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함