티스토리 뷰

Study/Spring

IOC, DI, 컨테이너

giiro 2021. 1. 14. 19:50

[5. IoC, DI, 컨테이너]

제어의 역전IoC (Inversion of Control)

  • 구현 객체가 프로그램의 제어 흐름을 스스로 조종하는 것이 아닌 외부에서 관리하는 것 (AppConfig가 하는 역할)

프레임 워크 ↔ 라이브러리

  • 내가 작성한 코드를 제어하며 대신 실행 → 프레임 워크
  • 내가 작성한 코드가 직접 제어의 흐름을 담당 → 라이브러리

의존관계 주입 DI (Dependency Injection)

  • 실행 시점에 실제 구현 객체를 생성하고 클라이언트에 전달해 클라이언트와 서버의 실제 의존관계가 연결되는 것
  • DI를 사용하면 클라이언트 코드(구현 코드)를 변경하지 않고 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있음

IoC, DI 컨테이너

  • AppConfig처럼 객체를 생성하고 관리하며 의존관계를 연결해주는 기능을 함
  • 최근에는 DI컨테이너라고 주로 사용하며 Spring이 그 역할을 함

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

스프링 정리(2)  (0) 2021.08.08
스프링 정리(1)  (0) 2021.08.03
회원 도메인 개발 (순수 자바코드로)  (0) 2021.01.14
좋은 객체 지향 설계의 5원칙  (0) 2021.01.14
좋은 객체 지향 프로그래밍이란 ?  (0) 2021.01.05
댓글