7.2.3 실습 @ModelAttribute를 이용하여 새로운 도서 등록하기
@ModelAttribute로 도서 등록 페이지에서 입력된 파라미터 값을 커맨드 객체로 바인딩하여 저장소 객체에 신규 도서 정보를 저장하는 기능을 구현해 보겠습니다.
1. BookRepository 인터페이스에 setNewBook() 메서드를 선언합니다.
코드 7-3 BookRepository.java
package com.springmvc.repository;
...
public interface BookRepository {
...
Book getBookById(String bookId);
void setNewBook(Book book);
}
2. BookRepositoryImpl 클래스에 setNewBook() 메서드를 추가합니다. setNewBook() 메서드는 새로 등록되는 도서 정보를 저장소 객체에 저장합니다.
코드 7-4 BookRepositoryImpl.java
package com.springmvc.repository;
...
@Repository
public class BookRepositoryImpl implements BookRepository {
...
public Book getBookById(String bookId) {
...
}
➊
public void setNewBook(Book book) {
listOfBooks.add(book); ➋
}
}
➊ 신규 도서 정보를 저장하는 메서드입니다.
➋ 신규 도서 정보를 listOfBooks에 추가로 저장합니다.