티스토리 뷰

페이지에서는 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 프로그램을 실행하면 원하는 결과가 나온다.