인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김지훈님의 프로필 이미지
김지훈

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

컴포넌트 스캔과 자동 의존관계 설정

MemberRepository Autowired로 주입 시 질문

작성

·

292

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
안녕하세요.
영한님께서 7분 40초 쯤에 Autowired로 Spring Bean이 관리하는 MemberRepository를 주입해준다고 하셨는데, 이 시점에는 MemberRepository의 구현체가 하나라서 자연스럽게 MemoryMemberRepository가 주입되었습니다.
 
그러면 만약 구현체가 여러개라면 무엇이 주입되나요? 우선순위 같은것이 있나요?
 
감사합니다.

답변 1

3

안녕하세요. 김지훈님, 공식 서포터즈 OMG입니다.

동일한 타입의 빈이 여러개 일 경우 에러가 발생합니다. :)

바로 다음 강의를 보시면 아시겠지만 빈을 수동으로도 등록할 수있는데요, 

이렇게 수동등록하는 것과 @Controller, @Service, @Repository를 사용함과 같이 자동으로 등록하는 경우 동일 타입을 지정하면 NoUniqueBeanDefinitionException에러가 발생하오니 빈 등록이 수동으로 되어있는지, 자동인지 잘 파악하셔야 합니다.

또한 기본편을 학습하시면 @Qualifier, @Primary 등 어노테이션으로 해당 문제를 해결하는 방법도 배울 수 있습니다.


감사합니다.

김지훈님의 프로필 이미지
김지훈
질문자

감사합니다!

김지훈님의 프로필 이미지
김지훈

작성한 질문수

질문하기