강의

멘토링

로드맵

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

kokiyo97님의 프로필 이미지
kokiyo97

작성한 질문수

스프링 핵심 원리 - 기본편

생성자 주입을 선택해라!

final 이 붙으면

해결된 질문

작성

·

350

1

안녕하세요 영한님 강의 너무 잘보고 있습니다! 

다름아니라 private final MemberRepository memberRepository;  에서 final 처리 덕분에 memberRepository 인스턴스가 초기화되기 전까지는 이를 사용하지 못하게 하기 때문에, 생성자를 통해this.memberRepository 즉 final로 선언한 memberRepository 인스턴스안에 값이 들어오게끔하여 비로소 사용이 가능하게 되는 것인가요? 

public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}

퀴즈

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

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

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

의존성 변경이 쉬워서

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

설정 코드 작성이 복잡해서

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. kokiyo97님

네 맞습니다.

감사합니다.

kokiyo97님의 프로필 이미지
kokiyo97

작성한 질문수

질문하기