이번에는 구현된 DAO를 이용하는
service쪽 인터페이스, 클래스를 작성해
보자
컨트롤러에서 실행하는 모든 서비스에 대해 BoardService 인터페이스가 정의하고
있으며 이를 구현한 구현체가 BoardServiceImpl이며 BoardServiceImple은 boardConfig.xml에
빈으로 정의되어 있다.
[BoardService.java]
package onj.board.service;
import java.util.List;
import onj.board.model.BoardDTO;
/*
* 게시판에서
구현할
기능을
인터페이스로
정의
*/
public interface BoardService {
//게시판
리스트
보기
public List<BoardDTO> boardList();
}
[BoardServiceImple.java]
package onj.board.service;
import java.util.List;
import onj.board.dao.BoardDAO;
import onj.board.model.BoardDTO;
public class BoardServiceImpl implements BoardService {
private BoardDAO boardDAO;
public void setBoardDAO(BoardDAO boardDAO) {
this.boardDAO = boardDAO;
}
//게시물
보기
public List<BoardDTO> boardList() {
return boardDAO.boardList();
}
}
BoardServiceImpl을
setBoardDAO 메소드가
있는데
이를
통해 SpringBoardDAO를
주입
받는다(세터
주입). 물론 SpringBoardDAO가 BoardDAO 인터페이스를
구현한
클래스
이므로 TYPE은
인터페이스인
BoardDAO로
해도
가능한
것이다. 이
부분은
boardConfig.xml의
다음
구문에
의해
실행된다.
<bean id="boardService" class="onj.board.service.BoardServiceImpl">
<property name="boardDAO">
<ref bean="boardDAO"/>
</property>
</bean>
boardList() 메소드에서 SpringBoardDAO쪽의 boardList() 메소드를 호출하고
그 결과를 List 객체 형태로 돌려받는다.
BoardServiceImpl의
모든
메소드는
우리가
앞으로
작성
할
스프링
컨트롤러에서
호출하게
된다.
댓글 없음:
댓글 쓰기