스프링 의존관계 주입

권영태·2024년 1월 4일
0

스프링

목록 보기
15/18

의존관계 주입 DI(Dependency Injection)

애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것은 의존관계 주입이라고 한다.

정적 클래스 의존관계

  • 클래스가 사용하는 import 코드만 보고 의존관계를 쉽게 판단할 수 있는 상태.
  • 애플리케이션이 실행되지 않아도 분석할 수 있다.

  • 하지만 위 클래스 다이어그램만 보고 실제 어떤 객체가 OrderServiceImpl에 주입 될지 알 수 없다.

동적 클래스 의존관계

  • 애플리케이션 실행 시점에 실제 생성된 객체 인스턴스가 주입된 의존 관계

  • 의존관계 주입을 사용하면 클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있다.
    즉, 정적인 클래스 의존관계를 변경하지 안하고, 동적인 객체 인스턴스 의존관계를 쉽게 변경할 수 있다는 뜻.

  • 주문 서비스 구현체(OrderServiceImpl)에 정확히 어떤 구현체가 주입 되는지 확인할 수 있다.


출처 : 스프링 핵심 원리 - 기본편

profile
GitHub : https://github.com/dudxo

0개의 댓글