더북(TheBook)

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를 선언합니다.

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