[Spring] IoC & DI

JOY·2023년 4월 24일
0

[Spring]

목록 보기
5/18
post-thumbnail

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

  • 객체의 객체 생성 및 객체간의 의존성 관리를 개발자가 관리하는 것이 아닌
    Spring의 IoC 컨테이너가 대신 처리하는 것

IoC의 장점

  1. 객체 생성과 의존성 관리가 간편
  2. 코드 유연성 증가
  3. 객체 간 결합도가 낮아져 유지보수성이 좋아짐
  4. 단위 테스트가 용이해짐

DI(Dependency Injection)

의존성 주입 객체간의 결합을 느슨하게 해줌

Setter Injection

  • Setter 메서드를 이용하여 의존성을 주입하는 방식
  • A 객체가 B 객체를 의존하는 경우,
    A 객체에 B 객체를 주입할 수 있는 Setter메서드(setB())를 구현하고,
    외부에서 B 객체를 생성해서 A 객체에 주입

Constructor Injection

  • 생성자를 이용하여 의존성을 주입하는 방식
  • A 객체가 B 객체를 의존하는 경우,
    A 객체의 생성자에서 B 객체를 인자로 받아 생성하고,
    외부에서 A 객체를 생성할 때 B 객체를 인자로 주입
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글