더북(TheBook)

    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() 메서드는 도메인 클래스 Bookbookid 속성 값을 읽어 유효성 검사를 수행합니다. 여기에서 bookService.getBookById() 메서드로 입력된 도서 ID가 이미 있다면 BookIdException 예외 처리가 발생합니다.