@NotNull
, @NotEmpty
, @NotBlank
는 사용법은 비슷하지만 중요한 차이가 있다.
우선 @NotNull 은 위에 살펴본 것 처럼 이름 그대로 Null만 허용하지 않습니다.
따라서, "" 이나 " " 은 허용하게 됩니다.
즉, 초기화나 공백의 값이 들어와 저장은 되야하지만 Null 로 들어온 경우 오류가 나는 변수를 받을 때 사용하면 됩니다
@NotEmpty 는 null 과 "" 둘 다 허용하지 않게 합니다.
@NotNull 에서 "" validation 이 추가된 것입니다.
즉, @NotEmpty 는 null 과 "" 은 막히되, " " 은 허용이 됩니다.
@NotBlank 는 null 과 "" 과 " " 모두 허용하지 않습니다.
@NotEmpty 에서 " " validation 이 추가된 것입니다.
즉, 세개 중 가장 validation 강도가 높은 것으로, @NotBlank 는 null 과 "" 과 " " 모두 허용하지 않습니다.
3개의 Bean Vaildation의 사용방법중 예외 처리하는 방법 개념 정리