작성
·
263
0
질문
타입이 같은 빈이 여러 개 조회 될 때, 특정 빈을 선택하는 방법을 3가지 소개해 주셨는데..
이 3가지 방법이 결국 특정 빈을 지정해 주는 방법인 것 같습니다. 이 방법을 사용하면, 특정
빈을 지정해 DI 할 수 있을 것 같습니다.
그러나 DIP 위반을 피하기 위해서 이전 강의에서 AppConfig에서만 특정 빈을 선택하도록 하였습니다. 예를들어 AppConfig에서 DiscountPolicy 중 Rate..와 Fix... 를 선택하게 하고 , 또한 AppConfig에서 MemberRepository 중 Memory..., DB...,External... 등을 선택하도록 하여 DIP 위반 문제를 해결했습니다.
그런데 @Qualifer,@Primary 등을 사용하면 OrderServiceImpl 이나 MemberServiceImpl 이 RateDiscountPolicy, FixDiscountPolicy 또는 Repository 관련 하위 클래스 등을 선택하게 되어 결국은 DIP에 위반되는 것은 아닌지 여쭈어 봅니다. 감사합니다.
저와 같은 의문을 가지고 있는 분들도 있었군요..
항상 명쾌한 강의에 감사드립니다.