강의

멘토링

로드맵

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

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 핵심 원리 - 기본편

생성자 주입을 선택해라!

5분 30초쯤 질문 있습니다.

작성

·

239

1

5분 30초쯤 createOrder를 테스트 해볼때 

nulPoint 에러가 난 이유는 orderServiceImpl에 가보면

memberRepository
discountPolicy

이 두개를 입력해주지 않아서 그런 것 아닌가요?

그렇다면 기재해두신 setter를 통해서 

@Test
void createOrder() {
OrderServiceImpl orderService = new OrderServiceImpl();
orderService.setDiscountPolicy(new RateDiscountPolicy());
orderService.setMemberRepository(new MemoryMemberRepository());
orderService.createOrder(1L, "itemA", 10000);
}

위와 같이 작성해도 동일하게 nullpoint가 나는 이유가

뭔지 궁금합니다.

퀴즈

66%나 틀려요. 한번 도전해보세요!

필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?

불변성을 보장하기 어려워서

의존성 변경이 쉬워서

순수 Java 코드로 테스트하기 어려워서

설정 코드 작성이 복잡해서

답변 2

1

MemberRepository에서 멤버객체를 생성하지 않아서 OrderService에서 NullPointException이 발생한것 같습니다.

0

안녕하세요. 유진이님, 공식 서포터즈 Taewon David Hwang입니다:)
.

5분30초쯤 말씀하신 NullPointException은 말씀하신대로 의존관계 주입이 이뤄지지 않아서 발생한 문제가 맞습니다.

.

그리고 아래와 같이 setter 주입을 사용하셨을 때 어떤 부분에서 오류가 발생하는지 오류내용 전체를 캡쳐해서 보여주실 수 있으실까요?

.
감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기