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

민경재님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

조회한 빈이 모두 필요할 때, List, Map

질문이 있습니다.

작성

·

189

1

findAllBean test를 실행할때 static class 에서는 Map 과 List 에는 fix, rate 둘다 올라오는데 findAllBean의 ApplicationContext 할때 OrderServiceImpl 에서 두개의 빈이 올라온다고 오류가 뜹니다. OrderServiceImpl은 @RequireAllArguments 로 주입을 받았놓은 상태입니다.

답변 5

1

민경재님의 프로필 이미지
민경재
질문자

아..... 저 바보인거 같습니다.. OrderServiceImpl 테스트가 안니데 계속 그곳을 봤네요 잠시 헷갈린듯 합니다ㅠㅠ

강의 항상 잘 보고 있습니다 ^^ 감사합니다 .... 

0

김영한님의 프로필 이미지
김영한
지식공유자

네^^ 공부하면서 궁금한 내용이 있으면 언제든 편하게 질문 남겨주세요^^

0

민경재님의 프로필 이미지
민경재
질문자

감사합니다 코드는 잘 돌아갑니다. 이해가 안되느 부분이 하나 있어서 질문하나 드립니다.

-  @Primary 가 rate 에 있을경우 FixPolicy 와 RatePolicy 둘다 bean이 생성되지만 OrderServiceImpl에서 rate 가 사용되지만 (@Primary 때문에), AllBeanTest 에서는 OrderServiceImpl 을 사용 안하게 되는게 맞나요?

-> 이유가 Map 에서 fix Bean 주소를 직접 DiscoutPolicy 주입했기 때문 이라서

제가 이해하는게 맞나요??

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 민경재님

@Primary가 빠졌습니다^^

@Qualifier("mainDiscountPolicy")
@Primary //이걸 추가해주세요.
public @interface MainDiscountPolicy {
}

감사합니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 민경재님

자세한 오류 메시지와 함께

전체 프로젝트를 압축해서 올려주세요.

감사합니다.