• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

영상 초반에 OrderApp 및 테스트 부분에서 질문 있습니다.

20.11.07 16:54 작성 조회수 225

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

lavaspoon님의 프로필

lavaspoon

2021.11.24

npe 맛보고 static 이 빠진걸 발견했네요 ㅋㅋ 이 댓글덕에 또 배워갑니다

2

kts327님의 프로필

kts327

질문자

2020.11.07

앗 static인걸 못봤네요 기초적인건데ㅜㅜ 전 객체 주입의 필요성을 위한 빌드업인줄 알았어요ㅋㅋ 답변 감사합니다

0

피엔님의 프로필

피엔

2022.11.26

저도 해당 내용에 대해 궁금했었는데.. 덕분에 해결하였습니다. 감사합니다!

0

biztalk0909님의 프로필

biztalk0909

2021.11.11

예제 따라치면서 static를 빼먹고 쳐서 npe 터져가지구 부랴부랴 static 추가했네요 ㅋㅋ

0

할수있다님의 프로필

할수있다

2021.02.21

ㅋㅋㅋㅋㅋ저도....

0

htw1800님의 프로필

htw1800

2021.02.09

와 저도 이게 왜그러지?? 이러다가 찾아봤는데 생각도 못했네요ㅋㅋㅋㅋ