728x90
에러 로그
cannot invoke because is null
문제 상황
: Spring MVC 형식의 프로젝트에 JPA를 연동한 상황
: H2 환경에서 CRUD 테스트를 진행하기 위해 Postman을 통해 JSON형식의 요청을 보냈으나,
포스트맨 상으론 500에러 응답이 발생. IDE상엔 NullPointException이 발생하며, 위와 같은 에러로그가 출력된다.
원인
: 로그에 명시된 특정 변수가 null값이 될 수 있기 때문에 나오는 오류로, null이 되어선 안되는 부분에서 발생한 것
: 가령 필자의 경우, controller에 DI받은 mapper에서 발생
DI가 올바르게 주입되지 않아 연동된 변수에서 값이 받아지지 않은 것
해결 방법
: 필자의 경우 @RequiredArgsConstructor라는 애너테이션을 이용한 DI를 주로 하는 편인데, 여기서 오류가 발생하여 DI가 올바르게 되지 않았다.
: 따라서 해당 애너테이션 대신, 아래와 같이 생성자를 통한 DI를 해줬다.
public TodoController(TodoMapper mapper, TodoService todoService) {
this.mapper = mapper;
this.todoService = todoService;
}
728x90
'Java & Spring > Error' 카테고리의 다른 글
| [Ngrok] ERR_NGROK_108. Your account is limeited to 1 simultaneous ngrok agent session. (0) | 2022.10.18 |
|---|---|
| [SpringBoot] JRE를 이용한 WAR파일 빌드 중 Jar파일로 빌드되는 경우 (0) | 2022.10.17 |
| [에러해결] Spring JPA - Syntax error in SQL statement ... expected "identifier" (0) | 2022.10.17 |
| [Nginx] 웹 브라우저에 정상적으로 안나올 때 (0) | 2022.10.11 |
| [GitHub Actions] gradlew을 실행(executable)할 수가 없는 경우 (0) | 2022.10.07 |