13.3.3 실습 사용자 정의 애너테이션을 이용하여 유효성 검사하기
지금까지 배운 내용을 토대로 사용자 정의 애너테이션을 생성하고 이를 이용하여 도서 ID의 중복 여부를 확인하는 유효성 검사를 해 보겠습니다. 중복되는 도서가 있으면 오류 메시지도 출력해 보겠습니다.
1. messages.properties 파일에 다음 메시지를 추가합니다.
코드13-6 messages.properties
...
BookId.NewBook.bookId = 도서ID가 이미 존재합니다.
2. Book 클래스에 bookId 속성에 대해 사용자 정의 제약 사항의 애너테이션을 선언합니다.
코드13-7 Book.java
package com.springmvc.domain;
...
import com.springmvc.validator.BookId;
public class Book {
@BookId ➊
@Pattern(regexp="ISBN[1-9]+")
private String bookId;
...
}
➊ 도메인 클래스 Book의 bookId 필드는 저장소 객체의 존재 여부에 대한 유효성 검사를 위해 사용자 정의 애너테이션 @BookId를 선언합니다.