Spring MVC/Validation

Validation 검증 - Bean Validation 이란?

Hcode 2022. 12. 6.

 

이전 글로 Validator를 사용하는 2가지 방법에 대해 알아보았습니다.
 

Validation 검증 - Validator를 사용하는 2가지 방법

이전 글로 Validator로 분리하여 Controller의 로직과 Validation을 분리하는 방법을 알았고 MyValidator도 만들어 보았습니다. Validation 검증 - Validator 이해와 MyValidator 만들어보기 이전 글로 FieldError를 사용

hhhhicode.tistory.com

이번 글로 Bean Validation이 무엇인지 알아보겠습니다.

 


 

Bean Validation 이란?

  • Bean Validation을 사용하는 이유
  • Bean Validation 이란?
  • 의존 관계

에 대해 다루겠습니다.

 


 

Bean Validation을 사용하는 이유

Validation 기능을 매번 코드로 작성하는 것은 상당히 번거롭습니다.

 

Validator를 만드는 이유는 섬세한 Validation을 하기 위함이었습니다.

하지만 몇몇의 세부적인 Validation이 필요한 경우가 아니라면
  대부분 빈 값인지, 특정 크기를 넘는지 같은 매우 일반적인 Validation 로직들입니다.

 

이러한 일반적인 Validation 로직들은
  공통화되고 표준화될 수 있습니다.

그렇게 해서 나온 것이 Bean Validation입니다.

 


 

Bean Validation 이란?

Bean Validation은 특정한 구현체가 아니라
  Bean Validation 2.0, JSR-380이라는 기술 표준입니다.

 

쉽게 이야기해서 Validation 애노테이션과 여러 Interface의 모음입니다.

마치 JPA가 자바의 표준 기술이고
  그 구현체로 Hibernate가 있는 것과 같습니다.

 

Bean Validation을 구현한 기술 중에
  일반적으로 사용하는 구현체는 Hibernate Validation입니다.

참고로 이름이 Hibernate이지만, ORM 기술과는 관련이 없습니다.

 

Hibernate Validator 관련 링크
공식 사이트 https://hibernate.org/validator/
공식 메뉴얼 https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/html_single/
검증 애노테이션 모음 https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/html_single/#validator-defineconstraints-spec

 


 

의존 관계

build.gradle에 다음을 추가합니다.

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

jakarta.validation-api : Bean Validation Interface

hibernate-validator : 구현체

External Libraries에서 확인한 jakarta.validation-api
External Libraries에서 확인한 hibernate-validator

 


 

다음 글로 Spring MVC에서 어떻게 Bean Validation이 이루어지는지 알아보겠습니다.
 

Validation 검증 - Bean Validation과 Spring MVC

이전 글로 Bean Validation에 대해 간단히 알아보았습니다. Validation 검증 - Bean Validation 이란? 이전 글로 Validator를 사용하는 2가지 방법에 대해 알아보았습니다. Validation 검증 - Validator를 사용하는 2가

hhhhicode.tistory.com

 

댓글