"스프링 부트 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
'개발 > 자바' 카테고리의 다른 글
| Spring JDBC에서 새로운 엔티티를 insert하고, 자동 생성된 ID(PK) 받기 (0) | 2025.08.03 |
|---|---|
| Spring Boot에서 초기화 SQL(schema.sql, data.sql) 활용 (0) | 2025.08.02 |
| [JPA] deleteById()로 없는 엔티티 삭제 시 예외가 발생하지 않는 이유와 정책 변화 (1) | 2025.06.06 |
| 추상 클래스, 인터페이스 (0) | 2023.10.30 |
| IntelliJ JUnit @DisplayName 한글 깨짐 에러 (0) | 2023.06.24 |