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을 삭제하면 오류가 해결됨.