더북(TheBook)

다음은 두 가지 멤버 변수 name과 price를 가진 간단한 도메인 클래스 Product가 있고 이 멤버 변수의 값에 대한 유효성 검사를 위해 JSR-380 제약 사항의 애너테이션을 선언한 예입니다.

JSR-380 제약 사항의 애너테이션 적용
Product.java
public class Product {

    @NotNull ➊
    @Size(min=4, max=10) ➋
    private String name;

    @Min(value=0) ➌
    private int price;

    // Setter()와 Getter() 메서드
}

➊ Null이 될 수 없습니다. 유효성 검사를 할 때 오류가 발생하면 기본 메시지로 ‘반드시 값이 있어야 합니다.’를 출력합니다.

➋ 최소 4자에서 최대 10자까지 허용합니다. 유효성 검사를 할 때 오류가 발생하면 기본 메시지로 ‘반드시 최솟값 4과(와) 최댓값 10 사이의 크기이어야 합니다.’를 출력합니다.

➌ 최소 0 이상의 값을 허용합니다. 유효성 검사를 할 때 오류가 발생하면 기본 메시지로 ‘반드시 0보다 같거나 커야 합니다.’를 출력합니다.