Spring Boot/Core
Validation 추상화
Holy Moly
2022. 7. 25. 16:04
애플리케이션에서 사용하는 객체 검증용 인터페이스
특징
- 어떤 계층과도 관계가 없다 -> 모든 계층(웹,서비스,데이터)에서 사용가능
- DataBinder에 들어가 바인딩 할 때 같이 사용되기도 한다.
인터페이스
- boolean supports(Class clazz): 어떤 타입의 객체를 검증할 때 사용할 것인지 결정함
- void validate(Object obj, Errors e): 실제 검증 로직을 이 안에서 구현
- 구현할 때 ValidationUtils 이용시 편리
스프링 부트 2.0.5이상 버전 사용시 LocalValidatorFactoryBean를 빈으로 자동 등록
간단한 검증은 hibernate-validator로 Entity Field에 @Min, @Email, @NotNull등 annotation을 통해 Validate가능