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

주호세님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 빈 조회 - 동일한 타입이 둘 이상

안녕하세요 강사님 질문이 있습니다.

작성

·

163

1

Bean에서 특정 타입을 모두 조회할 때, Bean에 정의된 메서드의 반환형을 기준으로 조회하는 것인지, 아니면 반환하는 객체의 클레스를 기준으로 조회하는 것인지 궁금합니다. 구체적인 예시를 들자면,  이번 강의에서 Bean에 memberRepository1과 2에서 함수에서 반환형은 MemberRepository 이지만 실제 반환하는 객체는 MemoryMemberRepository인데요,  코드로 실행하였을 때는 MemberRepository로 조회할 때 2개가 검색되었고,  MemoryMemberRepository로 조회하였을 때도 마찬가지로 2개가 검색되어 궁금하여 질문을 남기게 되었습니다. 감사합니다.

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

네 맞습니다. 객체 인스턴스를 기준으로 해당 인터페이스를 상속한 모든 객체가 다 조회됩니다.

0

주호세님의 프로필 이미지
주호세
질문자

Bean에 추가적으로

@Bean
public MemoryMemberRepository memberRepository3(){
return new MemoryMemberRepository();
}

이러한 코드를 추가하고, 조회할 타입을 MemberRepository로 하였을 때 3개가 조회된 것을 확인할 수 있었는데, 혹시 조회할 타입이 interface라고 한다면, 이를 상속한 객체들도 모두다 조회되는 것인지도 궁금합니다.