2020. 7. 26. 18:25ㆍSpring/Spring
1. 게시판 서비스
1) 서비스 구조
BoardVO, BoardDAO, BoardService, BoardServiceImpl 클래스로 구현되어 있다.
2) 테이블 구조
CREATE TABLE BOARD {
SEQ NUMBER(5) PRIMARY KEY,
TITLE VARCHAR2(200),
WRITER VARCHAR2(20),
CONTENT VARCHAR2(2000),
REGDATE DATE DEFAULT SYSDATE,
CNT NUMBER(5) DEFAULT 0
};
3) VO (Value Object)
DTO (Data Transfer Object)라고도 불리며 데이터 전달을 목적으로 사용하는 클래스이다. 클래스명은 사용되는 테이블명 뒤에 VO나 DTO를 붙여서 사용한다. 테이블에 포함된 칼럼과 같은 이름의 변수를 private 접근제한자로 선언한 후 Getter/Setter, toString 메서드를 정의한다.
/src/main/java/
BoardVO.java
4) DAO (Data Access Object)
DAO는 데이터베이스 연동을 담당하는 클래스로, CRUD 기능의 메서드가 구현되어야하기 때문에 H2 데이터베이스에서 제공하는 JDBC 드라이버를 사용한다. pom.xml에 h2 데이터베이스를 추가한다.
pom.xml
모든 DAO 클래스에서 공통으로 사용할 JDBCUtil 클래스를 작성하여 연결과 해제 작업을 공통으로 처리한다.
/src/main/java/
JDBCUtil.java
@Component 어노테이션이 아닌 @Repository 어노테이션을 사용하는 것이 적합하며, 각 메서드명은 각 기능과 테이블명을 합쳐 네이밍을 하는 것이 좋다.
/src/main/java/
BoardDAO.java
5) BoardService
BoardService 인터페이스를 생성한다. BoardDAO 클래스는 독립적인 클래스로 구현되어야 하는 반면, BoardService는 BoardServiceImpl 클래스가 구현한다.
/src/main/java/
BoardService.java
6) BoardServiceImpl
BoardService를 구현한 클래스이며, 메서드 구현 시 멤버변수로 선언도니 BoardDAO를 사용한다.
/src/main/java/
BoardServiceImpl.java
7) 설정 파일
Context 네임스페이스를 추가 후 설정한다.
/src/main/resources/
applicationContext.xml
8) 패키지 파일 정리
9) 클라이언트 및 실행
H2 데이터베이스가 구동 중이여야 실행을 확인할 수 있다. 콘솔에 들어간 상태라면 실행이 안될 수 있으니 프로젝트 실행 후 접속하여 데이터베이스를 확인한다.
/src/main/java/
BoardServiceClient.java
구현 화면
[참고] 스프링 퀵 스타트
'Spring > Spring' 카테고리의 다른 글
[Spring] AOP (0) | 2020.07.27 |
---|---|
[Spring] 사용자 서비스 구현 (0) | 2020.07.27 |
[Spring] 어노테이션 설정, 의존성 주입 설정 (0) | 2020.07.24 |
[Spring] 컬렉션 객체 설정 (0) | 2020.07.24 |