본문 바로가기
프로그래밍/SPRING

@Size 어노테이션이 작동을 안할때

by 애플 로그 2022. 5. 20.
반응형

@Size 어노테이션이 작동을 안할때

아래와 같이 코드를 잤다.

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class User {
    @Size(min=2)
    private Integer id;
    private String name;
    private Date joinDate;

}

@Size 어노테이션이 안는다. 

intellij problems 탭에 확인시 아래와같은 에러가 발생하고 있다.

 

1. 에러 발생 : 

 

2. 해결 방법:

@Size 어노테이션이 참조하고자하는 library가 없기 때문이다. 

dependencies를 추가해주고 해당 프로젝트를 다시 로드 해주면된다.

 

maven프로젝트 의 경우 pom.xml 에 추가

 

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>

 

Gradle프로젝트 의 경우

dependencies {
..............................
    implementation 'javax.validation:validation-api:2.0.1.Final'
..............................
}

 

 

설정을 다 한후에도 계속 에러표시가 남

 

설정을 한후에도 계속해서 에러상태 라면 우측에

설정한 dependencies가 정상적으로 로드가 안된것이니 리로드 해주면 된다.

 

1) gradle 

gradle 탭 클릭 - Refresh Gradle Dependencies

 

2) maven

maven 탭 클릭 - 프로젝트 선택 - Reload project

 

 

 

@valid 어노테이션이 동작 안한다면??

Spring boot 2.3 version 이상부터는 spring-boot-starter-web 의존성이 분리되서 따로 추가 해줘야 한다.

아래 설정을 넣어주도록 하자

implementation 'org.springframework.boot:spring-boot-starter-validation'

 

최종 build.gradle 설정 정보

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'javax.validation:validation-api:2.0.1.Final'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

 

<spring-boot-starter-validation 레파지토리 정보>

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation

 

Maven Repository: org.springframework.boot » spring-boot-starter-validation

Starter for using Java Bean Validation with Hibernate Validator VersionVulnerabilitiesRepositoryUsagesDate2.6.x2.6.7Central52Apr, 20222.6.6Central491Mar, 20222.6.5Central15Mar, 20222.6.4Central461Feb, 20222.6.3Central492Jan, 20222.6.2Central476Dec, 20212.6

mvnrepository.com

 

댓글