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

sikkkkkk님의 프로필 이미지
sikkkkkk

작성한 질문수

스프링 핵심 원리 - 기본편

Primary 와 Qualifier

작성

·

3.6K

·

수정됨

0

안녕하세요.

다름이 아니라 스프링 기본편 수업을 듣고, 혼자 해보다가 궁금증이 생겨서 글을 씁니다.

Primary 어노테이션을 적용하면 스프링 컨테이너에서 확인 하고 저 어노테이션이 붙은걸로 의존관계 자동 주입을 해준다는 것은 이해했습니다.

자주 사용한다고 말씀 해주셔서 혼자 만들어보면서 문제 없이 사용했습니다.

Qualifier같은 경우는 따로 MainDiscountPolicy를 만들어서 사용할 RateDiscountPolicy 나 FixDiscountPolicy 상단에 Qualifier를 붙여 사용한다는 것도 이해를 했는데요.

최종적으로 생성자 자동주입을 사용할 땐 @RequiredArgsConstructor 를 사용하게 되면서 코드를 간소화 하기에 primary를 사용할 거 같은데 만약 qualifier를 사용하게 될 상황이 온다면@RequiredArgsConstructor 이 부분을 삭제하고 다시 생성자를 만들면서 적용을 시켜야 하는 건가요?

제가 설명을 잘 못하는 거 같아서 사진도 덧붙입니다...

이 상황에서 orderserviceImpl 상단에 @RequiredArgsConstructor를 제거 하고, 다시 생성자를 만들어 @Autowired를 붙여줘 @MainDiscountPolicy 사용했습니다.

근데 실무에서도 이것도 사용한다고 말씀하셨는데, 그러면 테스트 코드를 작성해서 할 때마다 @RequiredArgsConstructor를 제거 하고 다시 이렇게 만들어줘서 돌리는지 궁금합니다. primary로 써도 손 쉬운데 뭔가 번거로운 거 같은데 사용하나 해서 질문 올립니다. 감사합니다

답변 1

0

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

@RequiredArgsCosntructor와 @Qualifier 를 함께 사용하는 경우 아래 글 답변을 참고해 주세요.

https://www.inflearn.com/questions/71872

감사합니다.

sikkkkkk님의 프로필 이미지
sikkkkkk

작성한 질문수

질문하기