[Spring] 11.SpringProject-비즈니스 계층




business 계층



비즈니스 계층은 고객의 요구사항이 반영되는 영역입니다.

비즈니스 계층은 로직에 필요한 데이터베이스 관련 객체들을 모아서 자신이 원하는 일을 처리하는 용도로 사용됩니다!

스프링에서 비즈니스 영역은 일반적으로 서비스(Service)라는 이름을 칭합니다~!

서비스는 컨트롤러와 DAO 사이의 접착제 역할을 한다고 생각하시면 됩니다!


image



일반적인 개발 순서는 요구사항을 메소드로 정리해서 인터페이스를 정의하고, 그 인터페이스의 구현 객체를 만들어 주는 순서로 진행됩니다!


root-context.xml의 설정



root-context.xml 에 패키지를 자동으로 인식할 수 있도록 다음과 같이 추가해줍니다.


<!-- root-context.xml -->


<context:component-scan base-package="com.gguri.swp.service">
</context:component-scan>




인터페이스 BoardService 작성




//BoardService.java

package com.gguri.swp.service;

import java.util.List;

import com.gguri.swp.domain.BoardVO;

public interface BoardService {
	public void regist(BoardVO board) throws Exception;
	public BoardVO read(Integer bno) throws Exception;
	public void modify(BoardVO board) throws Exception;
	public void remove(Integer bno) throws Exception;
	public List<BoardVO> listAll() throws Exception;
}




BoardService 구현




//BoardServiceImpl

package com.gguri.swp.service;

import java.util.List;

import javax.inject.Inject;

import org.springframework.stereotype.Service;

import com.gguri.swp.domain.BoardVO;
import com.gguri.swp.persistence.BoardDAO;

//서비스 객체임을 알림
@Service
public class BoardServiceImpl implements BoardService{
	@Inject
	private BoardDAO boardDAO;
	
	@Override
	public void regist(BoardVO board) throws Exception {
		boardDAO.create(board);
	}

	@Override
	public BoardVO read(Integer bno) throws Exception {
		return boardDAO.read(bno);
	}

	@Override
	public void modify(BoardVO board) throws Exception {
		boardDAO.update(board);
	}

	@Override
	public void remove(Integer bno) throws Exception {
		boardDAO.delete(bno);
	}

	@Override
	public List<BoardVO> listAll() throws Exception {
		return boardDAO.listAll();
	}

}



코드를 보면 간단한 CRUD 작업을 하기 때문에 별다른 것이 없고, DAO를 이용해서 작업을 실행하는 정도입니다!