회원 서비스 추가 설명

2023. 5. 1. 05:57카테고리 없음

private final MemberRepository memberRepository;

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

 

이 코드에서 원래는 private final MemberRepository memberRepository = new MemoryMemberRepository();

였는데, 이렇게 바뀌는 이유는 회원 서비스 테스트에서 여기 있는 멤버 레퍼지토리랑 테스트 레퍼지토리랑은 다른거라서 하나씩 정의해주는게 애매해서 그렇다고 한다. 그래서 저렇게 바뀌었는데, 저 것의 의미는 MemberService의 memberRepository를 외부에서 넣어줄수 있도록 설정해준것이다. 그것은 테스트의 코드에서도 확인 할 수있는데,

class MemberServiceTest {
    MemberService memberService;
    MemoryMemberRepository memberRepository;

    @BeforeEach
    public void beforeEach() {
        memberRepository = new MemoryMemberRepository();
        memberService = new MemberService(memberRepository);

    }

 

코드를 시작하고 나서 @BeforeEach로 각자 내가 생성하려는 생성자를 만들어주면 되는 것이다. 저 코드를 해석해보자면 밑에 beforeEach()는 memberRepository를 새로운 MemoryMemberRepository() 만든것을 위에 넣어주고, 밑에 memberService도 위에 있는 memberService(this.memberRepository)에 넣어주게 된다.