➊ 매트릭스 변수 중 publisher를 포함하는 경우에 실행됩니다. 전체 도서 목록 중에서 publisher 필드 값과 일치하는 도서를 검색하여 booksByPublisher 객체에 등록합니다.
➋ 매트릭스 변수 중 category를 포함하는 경우에 실행되고, 전체 도서 목록 중 category 값과 일치하는 도서를 검색하여 booksByCategory 객체에 등록합니다.
➌ booksByCategory 객체에 등록된 도서와 booksByPublisher에 등록된 도서 목록 중 중복되는 도서만 남기고 나머지는 삭제한 후 booksByCategory 객체로 반환합니다.
4. BookService 인터페이스에 getBooksByFilter() 메서드를 선언합니다.
코드 6-10 BookService.java
package com.springmvc.service;
...
import java.util.Map;
import java.util.Set;
public interface BookService {
List<Book> getAllBooks();
List<Book> getBookListByCategory(String category);
Set<Book> getBookListByFilter(Map<String, List<String>> filter);
}