Spring MVC 테스트 중 NullException 발생

zwon·2023년 8월 25일
0

개발일지

목록 보기
2/23

ViewController를 만들고 테스트를 하려고 다음과 같이 welcome page를 만들었는데
무시무시한 에러페이지 등장.

문제는 private BookService bookService;였다. 이 코드를 다음과 같이 수정해주었더니 문제 해결
[수정 전]

[수정 후]


중요한건 왜이다.
왜 final을 붙여주면 오류가 발생하지 않고 안붙여주면 오류가 발생할까?
그 전에 final에 대해서 알아야한다.

final

  • Java에서 final이라는 키워드는 "마지막의" 또는 "변경될 수 없는"이라는 의미를 가지고 있다.
  • final이라는 키워드가 변수에 붙으면 값을 변경할 수 없는 상수가 되고 메서드에 붙으면 오버라이딩을 할 수 없고 클래스에 붙으면 자손 클래스를 정의하지 못한다.
  • final이 붙은 변수는 "상수"라서 일반적으로 선언과 초기화를 동시에 한다.
  • 수정 전 코드를 보면 final이 붙지 않아서 초기화가 진행되지 않아 NullPointerException이 발생한 것이다.
profile
Backend 관련 지식을 정리하는 Back과사전

0개의 댓글