[Spring] DI (의존성 주입)

쓰옹·2022년 12월 12일
0
  • 강한결합
    • 구현 클래스 직접 참조
    • 각 controller에서 필요한 sevice, repository 객체 각각 생성
    • repository1 생성자가 변경된다면 모든 sevice와 controller의 코드도 변경되어야함
  • 느슨한 결합
    • 각 객체에 대한 객체 생성은 1번만 하고 생성된 객체를 모든 곳에 사용
    • 추상화에 의존

DI(Dependency Injection, 의존성주입)

의존성 주입은 프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리
하는 것이다.

  • 의존관계를 외부에서 결정
  • 외부의 대상이 IoC 컨테이너가 되어, 빈(스프링 객체)을 알아서 주입해 준다.

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

  • 프로그램 제어의 흐름이 뒤바뀜
  • 용도에 맞게 필요한 객체를 가져다 사용

스프링 IoC 컨테이너

profile
기록하자기록해!

0개의 댓글