작성
·
208
2
안녕하세요. 올려주신 강의 유익하게 잘 듣고 있습니다.
컨테이너 충돌에 대한 질문을 드리고 싶어서 작성하게 되었습니다.
아래와 같이 MemoryMemberRepository를 @Repository를 사용하여 컨테이너에 등록을 하였습니다.
그리고 JpaRespository도 함께 작성하였습니다. 사실 위에 MemoryMemberRepository를 의도적으로 작성한 것은 아니였습니다만 에러가 발생했습니다.
에러 내용
@Respository를 제거함으로써 해결은 하였습니다. 이전에는 @Repository를 삭제하지 않고,
SpringConfig에서 주석해서 사용을 해도 충돌이 안났었습니다. 그런데 JpaRepository를 사용하게 되니 Repository가 충돌이 난 것이라고 예상이 되었습니다.
이처럼 주석해서 사용하면 문제가 생기지 않고, JpaRepository와 같이 컨테이너에 자동으로 주입되는 것들만 충돌이 발생하는 건인지 궁금합니다.
답변 1
1
안녕하세요. HOYA님^^
스프링 빈은 여러개가 등록될 수 있습니다. 문제는 memberRepository를 자동 주입 받는 곳에서 memberRepository를 주입을 받아야 하는데 주입 대상이 2개가 있으니 오류가 발생하는 것입니다^^
스프링 빈의 충돌과 해결에 대한 자세한 내용은 곳 출시 예정인 스프링 핵심 원리 강의에서 정말 자세하게 설명해드릴께요^^!