6.7. 책 서비스 인터페이스 생성
책 서비스 클래스에서 선언한 BookService 인터페이스를 생성한다. 서비스 인터페이스는 직접 탐색기에서 생성하지 않고 클래스에서 생성하는 방법을 취한다.
서비스 클래스 BookServiceImpl.java 의 BookService 부분에 빨간 줄이 가 있을 것이다. 빨간 줄 위에 마우스를 올린다. 이후 팝업 메뉴가 나오면 create interface 'BookService' 항목을 클릭한다.
새 팝업에서 Source folder를 확인하고 Finish 버튼을 누른다. 예제에서는 서비스 클래스와 같은 패키지 안에 둘 것이므로 경로는 수정하지 않는다.
서비스 인터페이스 파일이 생성된 것을 확인한다.
src/main/java/sample/spring/yse/BookService.java
package sample.spring.yse;
public interface BookService {
}
6.8. 책 입력 기능 서비스 클래스 메소드 생성
BookDao.insert 메소드를 실행시키는 서비스 메소드를 작성한다. 서비스 메소드는 서비스 구현체인 BookServiceImpl 클래스에 작성하면 된다.
src/main/java/sample/spring/yse/BookServiceImpl.java
@Override
public String create(Map<String, Object> map) {
int affectRowCount = this.bookDao.insert(map);
if (affectRowCount == 1) {
return map.get("book_id").toString();
}
return null;
}
6.9. 책 입력 기능 서비스 인터페이스 메소드 시그니쳐 생성
@Override 어노테이션은 자바에 기본으로 내장된 어노테이션으로 상위 인터페이스에 정의된 것을 재정의(Override)한다는 뜻이다.
이클립스에서는 상위 인터페이스에 메소드 시그니쳐가 없을 경우 오류를 표시해 주면서 자동으로 인터페이스 시그니쳐를 만들어주는 기능이 있다. 이 기능을 이용하기 위해 @Override 어노테이션을 사용한다.
서비스 메소드 빨간 줄에 마우스를 올리고 create 'create' in super type 'BookService' 를 클릭한다.
서비스 인터페이스에 메소드 시그니쳐가 추가되었는지 확인한다.
src/main/java/sample/spring/yse/BookService.java
String create(Map<String, Object> map);