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

seona321님의 프로필 이미지
seona321

작성한 질문수

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

회원 서비스 테스트

회원서비스(MemberService) 부분

작성

·

607

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

안녕하세요. 우선 회원 서비스 테스트 부분 까지 강의를 듣다가 궁금한 점이 생겨 문의 드립니다.

 

1. MemberRepository 인터페이스를 상속하는 MemoryMemberRepository에서 store라는 이름을 가진 map에 각 반환값들 저장

2. 그 후 MemberService에서 "private final MemberRepository memberRepository;" 인터페이스 사용 및 생성자 주입 방식을 통해 DI를 구현하는 것 까지는 알겠는데, 아래 회원가입 및 전체 회원 조회 시 사용되는 memberRepository.save(member); 혹은 memberRepository.findAll(); 여기서 말하는 memberRepository가 인터페이스 자체에서 값을 불러오고 거기에 저장이 되는건지, 정확히 무엇인지 궁금합니다.

 

여기까지 제가 이해한 내용이 맞는지 궁금하기도 하고, 2번 부분에서 memberRepository가 정확히 어디에 저장이 되고 데이터가 불러와지는지가 궁금합니다!

답변 1

0

회원 서비스 테스트 단계이시면 memberRepository 에 실제로 주입되는 객체는 MemoryMemberRepository 타입 객체입니다.(테스트 코드에서 테스트 전에 주입해주고 있죠!)

그래서 질문 남기신 메서드들은 MemoryMemberRepository 타입의 save, findAll 메서드를 의미합니다.
그리고 1번에서 언급하신대로 MemoryMemberRepository 는 store 라고 하는 맵에 자료를 저장하도록 구현이 되어 있으니 거기에 저장이 되는 거죠!

seona321님의 프로필 이미지
seona321
질문자

답변 감사합니다! 이해 됐습니다ㅎㅎ

 

seona321님의 프로필 이미지
seona321

작성한 질문수

질문하기