• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

질문이 있습니다.

20.11.11 21:49 작성 조회수 117

1

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

답변 5

·

답변을 작성해보세요.

1

민경재님의 프로필

민경재

질문자

2020.11.14

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

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

0

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

0

민경재님의 프로필

민경재

질문자

2020.11.14

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

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

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

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

0

안녕하세요. 민경재님

@Primary가 빠졌습니다^^

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

감사합니다.

0

안녕하세요. 민경재님

자세한 오류 메시지와 함께

전체코드를 압축해서 zipkyh@naver.com으로 보내주세요^^

감사합니다.