프로젝트를 진행하면 객체의 제약조건을 검증해야 하는 일이 많이 있다. 객체의 필드가 필수적으로 값을 가지게 하고 싶을 때 우리는 NotNull 을 많이 사용한다. 그렇다면 @NotEmpty, @NotBlank 는 무엇일까?
1. @NotNull
@NotNull 은 말 그대로 Null을 허용하지 않겠다는 것이다.
@NotNull
private String name;
"" 이렇게 빈 문자열도 가능하고 " " 공백으로 이루어진 문자열도 가능하다.
name = null 불가
name = "" 가능
name = " " 가능
2. @NotEmpty
@NotEmpty
private String name;
@NotEmpty 는 @NotNull 에서 "" 빈 문자열 제약 조건이 추가된다. 따라서 " " 빈 공백 문자열은 허용된다.
ex)
name = null 불가
name = "" 불가
name = " " 가능
3. @NotBlank
@NotBlank 는 공백, 빈 문자열, Null 모두 허용하지 않는다.
@NotBlank
private String name;
name = null 불가
name = "" 불가
name = " " 불가
따라서 필수적으로 값을 필요로 하는 name 필드라면 @NotBlank가 좋을 것 같다.
'스프링' 카테고리의 다른 글
인터셉터(Interceptor) 란? (0) | 2024.09.23 |
---|---|
스프링부트 2.7x 버전과 스프링 부트 3.xx 의 차이 (0) | 2024.09.07 |
싱글톤 패턴 (0) | 2024.07.27 |
ResponseEntity와 Rest Api에 대하여 (0) | 2024.07.18 |
IOC/DI - 제어의 역전/의존성 주입 (0) | 2024.07.07 |