➊
public void initialize(BookId constraintAnnotation) { // @BookId 정보 초기화 메서드
}
// 유효성 검사 메서드
➋
public boolean isValid(String value, ConstraintValidatorContext context) {
Book book;
try {
book = bookService.getBookById(value);
} catch (BookIdException e) {
return true;
}
if (book! = null) {
return false;
}
return true;
}
}
➊ initialize() 메서드는 사용자 정의 애너테이션 @BookId의 관련 정보를 읽어 초기화 작업을 수행합니다.
➋ isValid() 메서드는 도메인 클래스 Book의 bookid 속성 값을 읽어 유효성 검사를 수행합니다. 여기에서 bookService.getBookById() 메서드로 입력된 도서 ID가 이미 있다면 BookIdException 예외 처리가 발생합니다.