스프링
[스프링퀵스타트] p222~223 참고사항, jdbcTemplate 클래스 사용법
ITGenerations
2020. 1. 15. 19:36
페이지에서는 BoardDAOSpring.java 파일 생성하고 수정된 파일들을 저장하고 실행하면된다고한다.
이때 문제점이 발생한다.
|문제점
BoardDAO와 BoardDAOSpring이 비슷한 형태의 자바 클래스다.
따라서, BoardServiceImpl 파일에서 BoardDAO를 취할지 BoardDAOSpring 파일을 취할지 선택해줘야되는데
그렇지 않으면 기본에 작성했던 BoardDAO를 기준으로 파일이 실행된다.
|문제원인
package com.springbook.biz.board.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.springbook.biz.board.BoardService;
import com.springbook.biz.board.BoardVO;
@Service("boardService")
public class BoardServiceImpl implements BoardService{
@Autowired
private BoardDAOSpring boardDAO;
public void insertBoard(BoardVO vo){
// if(vo.getSeq() == 0 ){
// throw new IllegalArgumentException("0번 글은 등록할 수 없습니다.");
// }
boardDAO.insertBoard(vo);
}
public void updateBoard(BoardVO vo){
boardDAO.updateBoard(vo);
}
public void deleteBoard(BoardVO vo){
boardDAO.deleteBoard(vo);
}
@Override
public BoardVO getBoard(BoardVO vo) {
return boardDAO.getBoard(vo);
}
@Override
public List<BoardVO> getBoardList(BoardVO vo) {
return boardDAO.getBoardList(vo);
}
}
위 코드는 문제를 해결한 코드 파일이다. 눈여겨봐야할 코딩은 "private BoardDAOSpring boardDAO;" 이 부분이다.
|원래 코드
private BoardDAO boardDAO;
|수정 코드
private BoardDAOSpring boardDAO;
차이점이 무엇인지 알것같나요? 위 코드는 기존에 있던 코드를 계속해서 사용하는 것이고 아래 코드가 새로 만든 파일을 사용하겠다는 의미입니다. 이렇게 수정해서 BoardServiceClient 프로그램을 실행하면 원하는 결과가 나온다.