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

권정익님의 프로필 이미지

작성한 질문수

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

섹션 5

해결된 질문

작성

·

116

·

수정됨

0

private final MemberRepository memberRepository;

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

/**
 * 회원 가입
 */
public Long join(Member member) {
    // 같은 이름이 있는 중복 회원X
    validateDuplicateMember(member);// 중복 회원 검증

    memberRepository.save(member);
    return member.getId();
}

MemberRepository는 인터페이스인데, 아래 join에서 memberRepository.save(member)을 어떻게 사용하는 건가요? 인터페이스는 객체를 만들지 못하고 구현체를 만들어야하는데 그러면 필드에서 MemberRepository의 구현체인 MemoryMemberRepository를 받아야 되는게 아닌가 했습니다.

이해가 잘 되지않아서 질문드립니다ㅠㅠ

답변 1

1

안녕하세요. 권정익님, 공식 서포터즈 David입니다.

이 부분과 관련된 것은 컴포넌트 스캔과 자동 의존관계 설정편에서 자세히 설명하고 있사오니 참고해 주세요:)

감사합니다.