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

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

karonlove님의 프로필 이미지
karonlove

작성한 질문수

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

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

질문입니다!

작성

·

136

0

 public MemberService(MemberRepository memberRepository){
        this.memberRepository = memberRepository;
    }

MemberService 생성자에 memberRepository 인터페이스를 주입시켜줬는데, Q&A 에서 이는 자바의 다형성을 위함이라고 읽었습니다. 이건 이해했는데 다형성을 구현하는 방법을 더 구체적으로 알고싶어 질문합니다!

현재 구현체인 MemoryMemberRepository 가 아닌 다른 구현체 DbMemoryRepository로 서비스에 주입하고 싶을땐, MemoryMemberRepository에 적은 @Repository를 지우고 또 다른 구현체 DbMemoryRepository에 @Repository를 다는 식으로 코드를 갈아끼우는 게 맞을까요??

이렇게 하면 Service는 건드리지 않고, Repository의 어노테이션만 지우고 다시 적으면 되는거니까... 이렇게 하는게 맞는지 궁금합니다!

답변 1

0

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

안녕하세요. karonlove님^^

다형성에 대한 부분은 여기에서 답변을 드리고 싶어도 수십줄로 설명해도 부족합니다.

스프링 핵심 원리 - 기본편에서 해당 부분을 매우 자세하게 설명드립니다^^!

감사합니다.

karonlove님의 프로필 이미지
karonlove

작성한 질문수

질문하기