[SPRING] 스프링 프레임워크 시작하기-7 [비즈니스 컴포넌트]

🐷Jinie (juniorDeveloper)·2020년 11월 19일
0

JSP/MVC/SPRING

목록 보기
43/81
post-thumbnail

0. 프로젝트에 엑스표가 뜰 경우

  • 지금은 warning 빼고 오류를 해결한 상태라서 보이지 않지만,
    엑스표가 있을때는 오류메세지를 확인할 수 있었다.
  • 내 오류는 자바버전이 맞지 않는 오류였다.
  • pom.xml에서 컴파일러 버전이 설치된 자바버전과 맞지 않았다. 그부분을 수정해준다.
 <artifactId>maven-compiler-plugin</artifactId>

-위의 코드를 찾기해서 보면 더 편하다.

1. BoardService 컴포넌트 구조

  • BoardVo, BoardDao, BoardService, BoardServiceImpl 로 구성되어있다.
  • 테이블 만들기
    [h2테이블]

    [ORACLE 테이블]

1-1. BoardVo만들기

  • VO(Value Object) : 레이어와 레이어 사이에서 관련된 데이터를 한꺼번에 주고받을 목적으로 사용하는 클래스. DTO(Data Transfer Object)라고 하기도하는데 데이터 전달을 목적으로 사용하는 객체이므로 결국 비슷한용도로 사용
package com.springbook.biz.board;

import java.sql.Date;

public class BoardVo {
	private int seq;
	private String title;
	private String writer;
	private String content;
	private Date regDate;
	private int cnt;
	
	public int getSeq() {
		return seq;
	}
	public void setSeq(int seq) {
		this.seq = seq;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getWriter() {
		return writer;
	}
	public void setWriter(String writer) {
		this.writer = writer;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	
	public Date getRegDate() {
		return regDate;
	}
	public void setRegDate(Date regDate) {
		this.regDate = regDate;
	}
	public int getCnt() {
		return cnt;
	}
	public void setCnt(int cnt) {
		this.cnt = cnt;
	}
	@Override
	public String toString() {
		return "BoardVo [seq=" + seq + ", title=" + title + ", writer=" + writer + ", content=" + content + ", regDate="
				+ regDate + ", cnt=" + cnt + "]";
	}
	
	
}
  • private 멤버변수와 그에 접근하는 Getter/Setter메서드를 선언한다.

1-2. H2데이터베이스 연동하기

-pom.xml파일에 들어가서 해당부분에 코드를 적는다.


  • 버전을 일치시켜서 적어주어야함.
  • maven안에 올라오는중
  • 완료

1-3. JDBC Util 만들기

  • 데이터베이스 connection과 close 등 사용할 DBMS에 관한 메서드를
    정적메서드로 만들어 전반적으로 사용할 수 있도록 작업한다.

[ getConnection() 메서드 만들기]

[ close() 메서드 만들기-pstmt, conn ]

  • 만약 PreparedStatement가 null이 아니고 isClosed가 아니라면 닫고,
    null로 비워준다.
  • 만약 Connection이 null이 아니고 isClosed가 아니라면 닫고,
    null로 비워준다.

[ close() 메서드 만들기-pstmt, conn, rs ]

  • 만약 PreparedStatement가 null이 아니고 isClosed가 아니라면 닫고,
    null로 비워준다.
  • 만약 Connection이 null이 아니고 isClosed가 아니라면 닫고,
    null로 비워준다.
  • 만약 ResultSet이 null이 아니고 isClosed가 아니라면 닫고,
    null로 비워준다.

1-4. BoardServiceClient 만들기

  • 스프링 컨테이너를 구동하고 BoardService 컴포넌트를 사용하는 클라이언트 프로그램

1-5. BoardService 만들기

  • 사용할 메서드의 틀을 잡아준다.

1-6. BoardServiceImpl 만들기

  • BoardService를 implement해서 그 안의 메서드를 재정의해준다.

1-7. BoardDao 만들기


  • SQL 함수 : NVL("값", "지정값")
    NVL 함수는 값이 null인 경우 지정값을 출력한다.
  • MVC 패턴만 적용한 JSP프로젝트와 동일한 구조로 sql실행코드를 작성한다.

1-8. 실행확인

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글