[Spring] 11.SpringProject-비즈니스 계층
business 계층
비즈니스 계층은 고객의 요구사항이 반영되는 영역입니다.
비즈니스 계층은 로직에 필요한 데이터베이스 관련 객체들을 모아서 자신이 원하는 일을 처리하는 용도로 사용됩니다!
스프링에서 비즈니스 영역은 일반적으로 서비스(Service)라는 이름을 칭합니다~!
서비스는 컨트롤러와 DAO 사이의 접착제 역할을 한다고 생각하시면 됩니다!
일반적인 개발 순서는 요구사항을 메소드로 정리해서 인터페이스를 정의하고, 그 인터페이스의 구현 객체를 만들어 주는 순서로 진행됩니다!
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를 이용해서 작업을 실행하는 정도입니다!