더북(TheBook)

13.3.1 사용자 정의 애너테이션 생성

사용자 정의 애너테이션은 JSR-380처럼 도메인 클래스의 멤버 변수에 선언할 수 있는 제약 사항입니다. 또한 내장된 제약 사항이 아니므로 사용자가 직접 생성하여 사용할 수 있습니다. 사용자 정의 애너테이션을 생성하는 형식은 다음과 같습니다.

@Constraint(validatedBy=유효성 검사 클래스.class)
@Target(속성)
@Retention(속성)
@Documented
public @interface 사용자 정의 애너테이션 이름 {
    String message() default "출력할 오류 메시지";
    Class<?>[] groups() default {};
    Class<?>[] payload() default {};
}

유효성 검사를 위한 사용자 정의 애너테이션을 만들 때 반드시 있어야 하는 필수 속성은 message, groups, payload입니다.

▼ 표 13-3 사용자 정의 애너테이션의 필수 속성

속성

설명

message

유효성 검사에서 오류가 발생하면 반환되는 기본 메시지입니다.

groups

특정 유효성 검사를 그룹으로 설정합니다.

payload

사용자가 추가한 정보를 전달하는 값입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.