본문 바로가기
Develop/Spring

[2-2.영속계층, 비즈니스계층]BoardService/BoardServiceImpl의 설정

by jaekk 2018. 8. 23.


스프링에서의 비즈니스 영역: 서비스(Service)


1) 인터페이스 생성

요구 사항을 메서드로 정리해서 xxx.Service라는 인터페이스 정의

2) 구현 객체 생성

xxxServiceImpl이라는 구현 객체 생성


※ 비즈니스 계층의 구현

비즈니스 계층: 컨트롤러 <-연결-> DAO 

트랜잭션 처리나 예외의 처리를 비즈니스 계층에서 수행하여 컨트롤러로 하여금 처리해야하는 일 분업시켜 줌


1) root-context.xml 설정

<context>를 사용하여 패키지 자동 인식



2) 인터페이스 작성

BoardService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.zerock.service;
 
import java.util.List;
 
import org.zerock.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;
}
 

cs



3) 인터페이스 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package org.zerock.service;
 
import java.util.List;
 
import javax.inject.Inject;
 
import org.springframework.stereotype.Service;
import org.zerock.domain.BoardVO;
import org.zerock.persistence.BoardDAO;
 
@Service
public class BoardServiceImpl implements BoardService{
    
    @Inject
    private BoardDAO dao;
 
    @Override
    public void regist(BoardVO board) throws Exception {
        dao.create(board);
    }
 
    @Override
    public BoardVO read(Integer bno) throws Exception {
        return dao.read(bno);
    }
 
    @Override
    public void modify(BoardVO board) throws Exception {
        dao.update(board);
    }
 
    @Override
    public void remove(Integer bno) throws Exception {
        dao.delete(bno);
    }
 
    @Override
    public List<BoardVO> listAll() throws Exception {
        return dao.listAll();
    }
 
}
 
cs



@Service

스프링의 빈으로 인식되기 위해 애노테이션 적용








※ 본 게시글은 코드로 배우는 스프링 웹 프로젝트 책을 참고하여 작성하였습니다.



댓글