Team project/'ICElink' 웹 서비스 프로젝트
["ICELINK"" Project] board테이블 내용 조회 API 구현도중에 다음과 같은 오류 발생: servlet.service() for servlet [dispatcherservlet] in context with path [] threw exception [handler processing failed: java.lang.stackoverflowerror]
kanado
2023. 5. 16. 17:33
board테이블에 저장 된 데이터를 Model을 이용해서 list형태로 불러서 html로 시각화할 수 있는
API를 구현 동안 다음과 같은 오류가 발생했다.
원인:
그 이유로는 스택 오버플로였다.
스택 오버플로 오류는 코드가 반환하지 않고 너무 많은 메서드를 호출하고 스택에 너무 많은 메서드가 있어 오버플로를 유발할 때 발생합니다. 이는 일반적으로 메서드가 반복적으로 자신을 호출하는 무한 루프가 있을 때 발생합니다.
board테이블에서 사용중인 @Data lombok이 스택 오버플로의 원인이였다. board테이블이 user테이블과 userId(보드작성자)애트리부트로 연결되어있기 때문에 userId애트리뷰트의 데이터를 출력하고자할 때 무한참조가 일어났다.
해결:
board테이블에 있는 @Data lombok을 삭제하면 오류가 해결됨.