의존성 주입

1. 빈이 중복 조회되는 상황 현재 실습하고 있는 예제에서 상품을 주문했을 때 할인 정책을 DiscountPolicy라는 interface를 구현해서 사용하고있다. 이럴 때 DiscountPolicy 인터페이스 구현체는 고정 할인 fixDiscount와 할인률을 정해서 할인해주는 rateDiscount두개가 있다. orderServiceImpl에서 DIP를 지키기 위해 생성자 주입을 통해 인터페이스 타입 파라미터로 의존성을 주입받으려 할 때 현재 빈에는 fixdiscount와 rateDiscount 두개의 DisountPolicy 타입 빈이 등록돼있다. 스프링이 의존성 주입을 할 때 주입 대상을 타입 기준으로 조회를 하기 때문에 현재 상황에서는 DiscountPolicy 구현체 두개가 조회되어 expec..
1-1 의존성이란? 의존성이란 흔히 A가 B를 의존하는 것을 말한다. 즉 클래스 A가 클래스 B의 메서드를 호출하거나 클래스 B의 객체를 생성하여 사용하는 경우 A는 B에 의존성을 가지고있다 라고 한다. 2. 의존성 주입(DEpendency Injection)이란? DI(Dependency Injection)란 의존성 주입, 의존 관계 주입 이라고 불리며, 객체 내부에서 직접 호출하는 대신, 외부(스프링 컨테이너)에서 객체를 생성해서 넣어주는 방식이다. 의존성 주입을 함으로써 객체 간 유연성이 높아지 결합도를 낮출 수 있다. 코드로 한번 살펴보자 아래의 코드는 Cafe클래스와 Americano클래스의 의존성이 높은 코드이다. 의존성이 높은 이유는 1. 객체 생성의 책임 > Americano객체의 내부 구..
보글보글소다
'의존성 주입' 태그의 글 목록