2013년 7월 27일 토요일

(Spring3.2 Board) Spring 3.2에서 게시판 작성하기[7. Service Interface, Class 만들기]

이번에는 구현된 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 모든 메소드는 우리가 앞으로 작성 스프링 컨트롤러에서 호출하게 된다.

댓글 없음:

댓글 쓰기