Spring 기반 실제 프로젝트 경험과 배운 점 중심으로
Java와 Spring으로 가장 오래 작업한 건 학교 수업 팀 프로젝트로 만든 도서 대출 관리 웹 서비스입니다. Spring Boot로 REST API를 구성하고, JPA + MySQL로 데이터를 관리했습니다. 처음에는 JPA 연관관계를 잘못 설정해 N+1 문제가 생겼고, 쿼리 로그를 분석하다가 Fetch Join과 EntityGraph 차이를 찾아보게 됐습니다. 코드를 수정한 후 조회 쿼리 수가 크게 줄었고, 성능 개선 전후를 직접 측정한 경험이 기억에 남습니다. 스프링 시큐리티 설정도 처음 접했는데, 필터 체인 순서와 CSRF 예외 처리를 잘못 이해해 인증이 풀리는 버그를 한참 고쳤습니다. 그 과정에서 공식 문서를 처음부터 읽는 습관이 생겼습니다. 규모는 작지만 요구사항 정의부터 배포까지 전 과정을 경험한 프로젝트였습니다.