마지막으로 @Constraint는 만들고자 하는 애너테이션이 어떤 클래스를 사용하여 유효성 검사를 할지 설정합니다.
다음은 사용자 정의 애너테이션 @MemberId를 생성하는 예입니다.
사용자 정의 애너테이션 @MemberId 생성 예
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
@Constraint(validatedBy=MemberIdValidator.class)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MemberId {
String message() default "아이디는 admin 입니다.";
Class<?>[] groups() default {};
Class<?>[] payload() default {};
}