인프런 커뮤니티 질문&답변

Jay Yoon님의 프로필 이미지
Jay Yoon

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 직접 만들기

@Qualifier 코드 에러

작성

·

387

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
fixDiscountPolicy에 @MainDiscountPolicy를 붙이고 OrderServiceImpl 생성자에서 동일하게

public OrderServiceImpl(MemberRepository memberRepository, @MainDiscountPolicy DiscountPolicy discountPolicy)

라고 주입을 했습니다.

하지만 에러가 나는데 아래와 같이 납니다.

No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: mainDiscountPolicy,rateDiscountPolicy

보면 fix가 아닌 mainDiscountPolicy와 rateDiscountPolicy를 찾았는데요.

어디에 코드를 놓쳤을까요? 영상 두번 돌려봐도 도저히 다른점을 모르겠어요.

답변 1

0

안녕하세요. Jay Yoon님, 공식 서포터즈 David입니다.

DiscountPolicy에 주입될 1개의 빈만 찾아져야 하는 데 2개(main, rate)가 찾아졌기에 오류가 발생했습니다.

rateDiscountPolicy쪽에 붙여진 애노테이션을 제거해 주세요.

감사합니다.

Jay Yoon님의 프로필 이미지
Jay Yoon
질문자

안녕하세요.

두 컴포넌트(rate, fix) 중에 fixDiscountPolicy가 선택되도록 Qualifier (@MainDiscountPolicy) 를 붙였는데 Qualifier가 적용되지 않는 것을 문의한거에요.

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

 

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명

감사합니다.


Jay Yoon님의 프로필 이미지
Jay Yoon

작성한 질문수

질문하기