본문 바로가기
개발/자바

구버전 프로젝트, 최신 스프링 부트로 올리니 Validation 관련 오류 발생

by mabyoungg 2025. 7. 29.

"스프링 부트 2.3부터는 validation 의존성 추가 필요"

 

Spring Framework와 Spring Boot를 사용하다 보면, @NotNull, @Size 같은 벨리데이션 애노테이션을 자주 사용하게 된다. 그런데 과거에는 별도의 벨리데이션 라이브러리를 직접 추가하지 않아도 이 애노테이션들이 잘 동작했는데, 최근에는 꼭 관련 의존성을 명시적으로 추가해야 동작하는 사례가 많아졌다.

1. 과거에는 벨리데이션 라이브러리가 기본 포함되어 있었다
Spring Boot 2.x 버전 이전에는 spring-boot-starter-web에 Hibernate Validator 같은 Bean Validation 구현체가 기본적으로 포함되어 있었습니다. 따라서 별도의 벨리데이션 의존성을 추가하지 않아도, @NotNull, @Size 등 표준 Bean Validation 애노테이션이 바로 동작했다.

2. 최근에는 의존성 분리 정책으로 명시적 추가가 필요하다
하지만 Spring Boot 2.3 버전 이상부터는 starter들의 의존성 구성이 더 명확해지고 경량화되면서, 벨리데이션 라이브러리 관련 의존성이 분리됐습니다. 그 결과 spring-boot-starter-web만 추가하면 벨리데이션 기능이 자동으로 포함되지 않는다.

그래서 지금은 별도로 spring-boot-starter-validation 의존성을 추가해야 애노테이션들이 제대로 동작한다.

참고 영상: https://www.youtube.com/watch?v=cP8TwMV4LjE