작성
·
340
9
초반에 OrderApp (및 테스트) 에서 궁금한게 있습니다.
1) MemberService의 구현체인 MemberServiceImpl 안의 MemberRepository
2) OrderService의 구현체인 OrderServiceImpl 안의 MemberRepository
1),2) 각각 다른 인스턴스의 MemberRepository를 가지는게 아닌가요? (new 연산으로 인해)
memberService.join(member)는 1)의 MemberRepository에 save되는 거고,
orderService.createOrder.createOrder()는 2)의
MemberRepository에서 member를 꺼내오는건데, member가 없으므로 npe가 나야하는게 아닌가 싶어서요!
(제가 강의 중간에 놓친게 있는건가요 ㅠㅠ)
답변 7
7
안녕하세요. kts327님^^
MemoryMemberRepository를 잘 보시면 데이터 보관소를 static로 잡아두었습니다.
private static Map<Long, Member> store = new HashMap<>();
따라서 객체 생성과는 무관하게 동작합니다.
감사합니다.
2
2
0
0
0
0