딱콩이의 봄

DI, IoC 본문

개발/Spring

DI, IoC

코린이딱콩 2022. 8. 18. 00:27

DI(Dependency Injection)

1.DI

DI는 Spring 프레임워크에서 지원하는 IoC의 형태입니다. 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하지 않고 외부에서 생성한 후 주입 시켜주는 방식입니다. DI는 클래스 사이의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동적으로 연결해주는 것을 말합니다. 개발자들은 제어를 담당할 필요 없이 빈 설정 파일에 의존관계가 필요하다는 정보만 추가해주면 됩니다.

컨테이너가 실행 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해주는 것

2.DI의 특징

의존성 주입은 IoC 개념을 바탕으로 합니다. 클래스가 외부로부터 의존성을 가져야 합니다.

 

3.DI의 3가지 방법

  • Constructor Injection 
  • Setter Injection 
  • Interface Injection 

IoC(Inversion Of Control, 제어의 역전)

1.IoC

객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀐 것을 의미하며, 제어 권한을 자신이 아닌 다른 대상에게 위임하는 것입니다.  예를 들면 라이브러리를 사용할 때는 내 코드가 라이브러리 코드를 호출하지만, 프레임워크를 사용할 때는 프레임워크가 내 코드를 호출하면서 제어가 역전되었다고 하는 것이 IoC입니다.

'개발 > Spring' 카테고리의 다른 글

Spring Security  (0) 2023.02.02
라이브러리와 프레임워크의 차이  (0) 2022.08.17
MVC패턴이란?  (0) 2022.08.17
Comments