카테고리 없음

[Project][Spring] Service / ServiceImpl

321 2021. 3. 30. 16:41

 

DAO에서 SqlSession을 이용해 데이터를 받아왔으면 

Service역할을 해주는 Service/ServiceImpl을 만들어서 실행해 준다.

 

  • BoardService interface
package kr.co.service;

import java.util.List;

import kr.co.vo.BoardVO;
import kr.co.vo.Criteria;
import kr.co.vo.SearchCriteria;

public interface BoardService {

	public void write(BoardVO boardVO) throws Exception;

	//public List<BoardVO> list(PageCriteria cri) throws Exception;
	public List<BoardVO> list(SearchCriteria scri) throws Exception;
	
	//public int listCount() throws Exception;
	public int listCount(SearchCriteria scri) throws Exception;
	
	public BoardVO read(int bno) throws Exception;
	
	public void update(BoardVO boardVO) throws Exception;
	
	public void delete(int bno) throws Exception;
	
}

 

 

  • BoardServiceImpl 클래스
package kr.co.service;


import java.util.List;

import javax.inject.Inject;

import org.springframework.stereotype.Service;

import kr.co.dao.BoardDAO;
import kr.co.vo.BoardVO;
import kr.co.vo.Criteria;
import kr.co.vo.SearchCriteria;

@Service
public class BoardServiceImpl implements BoardService {

	@Inject
	private BoardDAO boardDao;
	
	@Override
	public void write(BoardVO boardVO) throws Exception {
		boardDao.write(boardVO);
	}

//	@Override
//	public List<BoardVO> list(PageCriteria cri) throws Exception {
//	
//		return boardDao.list(cri);
//	}
//	
//	@Override
//	public int listCount() throws Exception {
//		return boardDao.listCount();
//	}

	@Override
	public BoardVO read(int bno) throws Exception {
		
		return boardDao.read(bno);
	}

	@Override
	public void update(BoardVO boardVO) throws Exception {
		
		boardDao.update(boardVO);
	}

	@Override
	public void delete(int bno) throws Exception {
		
		boardDao.delete(bno);
	}

	@Override
	public List<BoardVO> list(SearchCriteria scri) throws Exception {
	
		return boardDao.list(scri);
	}

	@Override
	public int listCount(SearchCriteria scri) throws Exception {
		// TODO Auto-generated method stub
		return boardDao.listCount(scri);
	}

	

}
  • @Service 어노테이션을 붙임. 서비스 역할을 하도록 함
  • DAO객체를 @Autowired 혹은 @Inject를 사용해 받아와서 실행시켜 준다.(@Autowired와 @Inject의 차이도 알아볼 것)
    • 최근에는 @Autowired 대신 @RequireArgsConstructor 사용한 private final 객체를 많이 쓴다.