강의

멘토링

커뮤니티

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

안 녕하세요님의 프로필 이미지
안 녕하세요

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 기능

final 필드

작성

·

394

0

컨트롤러나 서비스 클래스에서

리포지토리를 필드로 선언하고 사용을 하는데

final 로 설정을 안해두니 회원가입,로그인을 시도하면 nullpointerexception 이 발생하더라구요

이유가 궁금합니다!

답변 1

2

안녕하세요. 안 녕하세요님, 공식 서포터즈 OMG입니다.

코드 예시가 없어 어떤 상황인지 정확하지는 않으나 예상가는 점이 있다면

@RequiredArgsConstructor
public class MemberService {

private final MemberRepository memberRepository;

위와 같이 @RequiredArgsConstructor 어노테이션을 사용했을 때 final 키워드 사용을 하지 않아 NullPointerException이 발생하지 않나 '예상'합니다.

이러한 경우 final 키워드를 생략하면 생성자가 생성되지 않고 주입을 받을 수 없습니다.

제가 예상한 내용이 아니라면 댓글 남겨주세요.



감사합니다.

질문을 너무 모호하게 작성했네요..!그래도 찰떡같이 알아들어주셔서 궁금증 해결하고 갑니다. 감사합니다!

안 녕하세요님의 프로필 이미지
안 녕하세요

작성한 질문수

질문하기