작성
·
244
0
답변 1
0
안녕하세요. ffbear님, 공식 서포터즈 David입니다.
1. 강의 3분 ~ 3분 30초에서 생성자를 통한 의존관계 주입을 설명하는 부분에서 딱 1번만 호출되고 불변한다고 하셨는데 그렇다면 그 1번의 시점은 스프링 컨테이너에 등록되는 시점이라고 봐도 되는걸까요?
=> 네, 맞습니다. OrderServiceImpl이 생성되는 시점입니다.
2. 강의 21분 30 ~ 22분에서 필드 주입에 대해서 말씀하신 부분에 대해서 왜 OrderServiceImpl 에 파라미터가 있는 생성자가 있으면 OrderServiceImplTest 의 fieldInjectionTest 에서 오류가 나는지 궁금합니다.
=> 3번에서 함께 설명해드리겠습니다.
3. 강의 21분 44초에서 왜 OrderServiceImplTest 에서 NPE 에러가 뜨는지 궁급합니다.
=> OrderServiceImpl은 필드주입을 받고 있습니다. 스프링 컨테이너를 이용하지 않고 기본 생성자를 사용하여 OrderServiceImpl을 만들면 스프링 컨테이너로부터 필드 주입을 받아야 하는 memberRepository, discountPolicy는 아무것도 할당받지 않은 상태입니다.
이 상태에서 memberRepository에 접근하여 메서드를 호출하니 NPE가 터지는 것입니다.
감사합니다.