서비스 인터페이스 추가

서비스 인터페이스 추가 개요

이번 챕터에서는 서비스 인터페이스를 추가합니다.
서비스란, 비즈니스 로직이 위치하는 곳입니다. 스프링 MVC 구조에서는 컨트롤러와 DAO를 연결하고, DAO 에 보낼 매개변수를 가공하거나, DAO에서 받은 결과를 가공해서 돌려주는 역할을 합니다.

자바의 인터페이스는 "설계"의 역할을 합니다. 인터페이스는 구현 클래스가 없고 메서드 시그니쳐(공개 범위, 메서드 이름, 매개변수, 반환값)만 정의하기 때문에 "구체적으로 어떻게 만들지는 모르겠지만 일단 이런 기능이 필요해"라는 것을 정의할 때 사용됩니다.
스프링 MVC에서 서비스 레이어는 인터페이스와 클래스를 함께 사용합니다. 스프링은 직접 클래스를 생성하는 것을 지양하고 인터페이스를 통해 접근하는 것을 권장하는 프레임워크이기 때문입니다.
다만 이런 현실을 무시하고 이론에만 충실한  기조는 무조건 인터페이스 + 해당 구현 클래스가 필요하기 때문에 너무 구현 클래스가 복잡해진다는 단점이 있어서 최근에는 거의 사용되지 않습니다. 그렇지만 역시 우리는 그것만이 정답인 줄 알았던 시절에 작성된 코드도 읽고 쓸 수 있어야 하기 때문에, 스프링 MVC 시대의 정답 스타일을 따라 코드를 작성하겠습니다.

서비스 패키지 추가

  1. blog 패키지 아래에 service 패키지를 추가합니다.

서비스 인터페이스 추가 메뉴 진입

  1. service 메뉴를 우클릭합니다.
  2. New 를 선택합니다.
  3. Interface를 선택합니다.

서비스 인터페이스 이름 입력

  1. 이름을 BlogService로 입력합니다.
  2. Finish 버튼을 클릭합니다.

서비스 인터페이스 생성 확인

  1. 서비스 인터페이스가 생성된 것을 확인합니다.

메서드 시그니쳐 작성


/src/main/java/v2/mvc/spring/blog/service/BlogService.java

int create(Map<String, Object> map);
  1. 상기 코드처럼 메서드 시그니처를 작성합니다.

메서드 시그니쳐 자동 불러오기

  1. map 패키지를 자동 불러오기로 가져옵니다.