-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
빈으로 등록하지 않았는데 @Autowired를 통해 의존성 주입할 때 충돌이 납니다.
23.12.05 14:05 작성 23.12.05 15:09 수정 조회수 545
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요 @Autowired를 사용해 의존성 주입을 하다 충돌이 나서 질문드립니다.
MemberRepository인터페이스 -> MemoryMemberRepository 구현체
후자에만 @Component를 붙인 상황입니다.
그런데
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [/Users/minsung/Desktop/study/core/out/production/classes/hello/core/member/MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository
이런식으로 memberRepository 또한 빈으로 등록되어 있었습니다.
@Autowired가 클래스 타입으로 조회한다는 것은 알고 있지만 빈으로 등록되어있는 애들 중에서 조회하는 것 아닌가요...?
왜 memberRepository를 빈으로 등록하지 않았는데 빈으로 등록되어있는지
@Autowired는 왜 빈으로 등록되지도 않은 memberRepository를 찾을 수 있었는지
@Autowired 보다는 @RequiredArgsConstructor 사용을 권장하던데 이제 @Autowired는 잘 쓰이지 않는 것인지
궁금합니다!
답변을 작성해보세요.
0
orhamster
2023.12.05
네, 저에게 강의 내용과 관련된 질문을 하셔도 됩니다. 강의 내용에 대해 궁금한 점이 있으시면 질문해 주세요. 제가 최대한 도움을 드리겠습니다.
답변 1