06.03. 책 입력 기능 만들기 - 3

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);