빈 유효성 검사

Bean Validation

Bean Validation은 JavaBean 검증을 위한 메타데이터 모델과 API를 정의한다.메타데이터 소스는 주석이며, XML 유효성 검사 설명자의 사용을 통해 메타데이터를 재정의하고 확장할 수 있다.

원래 Java EE의 일부로 정의되었던 버전 2는 Java SE 앱에서도 작동하는 것을 목표로 한다.

Java Bean Validation(JSR 303)은 2009년 11월 16일 현재 JCP에 의해 승인되고 Java EE 6 규격의 일부로 수락된 프레임워크로 시작되었다.최대 절전 모드 팀은 Bean Validation기준 구현Validator와 함께 제공하며, 또한 JSR 303의 구현이 통과해야 할 경우 Bean Validation TCK를 만들었다.

현재 버전

Bean Validation 2.0은 JSR 380, 승인 2017-07-31에 의해 정의된다.이 주요 릴리스는 빈 밸리데이션의 목적에 매우 유용한 자바 8의 언어 기능을 활용한다.그래서 자바 8은 최소 자바 버전으로 필요하다.

그 밖의 변경사항은 다음과 같다.

  • 매개변수화된 유형의 유형 인수(예: List<@Positive Integer> positiveNumber)에 주석을 달아 용기 요소의 유효성을 확인하는 지원(예: List<@Positive Integer> positiveNumber). 여기에는 다음도 포함된다.
    • 수집 유형에 대한 보다 유연한 계단식 검증(예: 지도 값 및 키 검증 가능): 지도<@유효한 고객유형, @유효한 고객] 고객별유형
    • Java.util 지원.선택적
    • JavaFX에서 선언하는 속성 유형 지원
    • 추가 값 추출기를 연결하여 사용자 정의 컨테이너 유형 지원
  • @Past 및 @Future에 대한 새로운 날짜/시간 데이터 유형 지원, 유효성 검사에 사용되는 현재 시간 및 시간대를 세부적으로 제어
  • 새로운 내장 제약 조건: @Email, @NotEmblock, @Positive, @PositiveOrZero, @NegativeOrZero, @NegativeOrZero, @PastOrPresent 및 @FutureOrPresentPres.
  • 모든 내장 제약 조건이 지금 반복 가능한 것으로 표시됨
  • 반사를 사용하여 매개 변수 이름 검색
  • ContractValidator#initialize()가 기본 메서드임
  • Bean Validation XML 설명자의 네임스페이스가 META- INF/validation.xml의 경우 http://xmlns.jcp.org/xml/ns/validation/configuration[permanent dead link]으로 변경되고 제약 조건 매핑 파일의 경우 http://xmlns.jcp.org/xml/ns/validation/mapping[permanent dead link]으로 변경됨

이전 버전

Bean Validation 1.1(JSR 349)은 초기 버전 1.0(JSR 303)에서 개선된다.중요한 변경사항은[1] 다음과 같다.

  • 메서드 인수 및 반환 값 검증
  • 종속성 주입
  • 규격 개발에 있어 보다 개방적인 프로세스

1.1 규격의 최종 릴리스는 2013-05-24에서 발생했다.

참조

  1. ^ Emmanuel, Bernard. "Bean Validation 1.1 goals". Red Hat, Inc. Retrieved 2014-08-17.

추가 읽기