자 이제 스프링이 어떻게 에러메시지를 주입하는지 잘 배웠고!!! 필요에 따라 공부해서 활용하자. 이제는 실제 개발 단계에서 쓰이는 어노테이션 하나로 쉽게 검증해주는 bean validation을 배워보자~~!
검증 기능을 지금처럼 BindingResult에 FieldError에 add해주고~ 메시지 정해주고~ 하기 번거롭다!!
특히 특정 필드에 대한 검증 로직은 대부분 빈 값인 지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다
그럼 스프링 개발자들이 한 생각이 어노테이션으로 간단하게 검증하게끔 할 수 없을까..? 라는 생각에서 이어진 것이 아래의 코드이다.. 얼마나 편한가..! 직관적이고!!
public class Item {
	private Long id;
	
	@NotBlank
	private String itemName;
	
	@NotNull
	@Range(min = 1000, max = 1000000)
	private Integer price;
	
	@NotNull
	@Max(9999)
	private Integer quantity;
	
}
Bean Validation이란 기술은 사실은 검증 어노테이션과 여러 인터페이스의 모음임. 여러 오픈소스가 다양한 구현체를 지원중임!!(github에 다양한 검증 구현체 있겄네)
보편적으로 우리가 자연스럽게 사용하는 구현체는 하이버네이트 Validatior임. (ORM의 hibernate와는 무관)
build.gradle에 아래 의존성 추가하면 jakarta의 bean validation 어노테이션인터페이스 모음과 함께 hibernate validator 구현체가 같이 추가된다!! 그런다음 위의 코드처럼 잘 쓰면 된다~~
implementation 'org.springframework.boot:spring-boot-starter-validation'
이름이 직관적이라 바로바로 알겠지만 아래의 주의점이 있다~~
