728x90
목차
1. javax와 jakarta package 의 Validation
이슈 내용
Springboot 2.x 버전에서 Springboot 3.x 버전으로 업데이트한 뒤 Validation 관련 어노테이션을 적용할 때 에러가 발생하였습니다.
- 에러 메시지
package org.hibernate.validator.constraints does not exist
cannot find symbol symbol : class NotBlank
javax 패키지의 Validation을 사용하였고 build.gradle에 필요한 모듈을 모두 추가했음에도 에러가 발생하였습니다.
- build.gradle
...
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("javax.validation:validation-api:2.0.1.Final")
...
2. 원인
- Springboot 3.x 버전부터는 javax 가 아닌 jakarta 패키지의 Validation을 사용한다고 합니다.
- 따라서 Validation 어노테이션을 사용하기위해서는 javax.validation 패키지가 아닌 jakarta.validation 패키지를 사용해야됩니다.
3. 해결방법
Springboot 2.x 에서의 validation package 예시
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
@Service
public class TestService {
@Max(5)
@Min(0)
private int fileSize;
...
}
Springboot 3.x 에서의 validation package 예시
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank
@Service
public class TestService {
@Max(5)
@Min(0)
private int fileSize;
...
}
<참고자료>
728x90
'스터디 > Spring' 카테고리의 다른 글
[Spring] PUT 과 PATCH 사용시 주의할 점 (0) | 2024.07.06 |
---|---|
[Spring] PUT 과 PATCH 차이 (1) | 2024.07.05 |
[Spring] MultiValueMap 의미와 사용법 (0) | 2024.04.21 |
[Spring] properties와 yml 중 어떤걸 사용할까? (0) | 2023.09.04 |
[Spring] Mybatis resultType과 resultMap (0) | 2023.08.25 |
댓글