개발/[Spring] 블로그 만들기

[코드로 배우는 스프링 웹 프로젝트] 7강. 스프링 MVC 프로젝트의 기본 구성

ee2ee2 2021. 12. 21. 00:36
728x90
반응형

ex02_예제코드.zip
0.02MB
jex02_예제코드.zip
0.02MB

해당 프로젝트는 코드로 배우는 스프링 웹 프로젝트(개정판)을 기반으로 진행됩니다.


스프링 MVC 프로젝트의 기본 구성

: 일반 적으로 웹 프로젝트는 3-tier 방식으로 구성된다.

- Presentation Tier (화면 계층)

: 화면에 보여주는 기술을 사용하는 영역. 주로, Servlet/JSP나 스프링 MVC가 담당하는 영역을 말함.

- Business Tier (비즈니스 계층)

: 비즈니스 로직만을 담고 있는 영역. 즉, 고객의 원하는 요구 사항을 반영 하는 계층.

- Persistence Tier (영속 계층 혹은 데이터 계층)

: 데이터를 어떤 방식으로 보관하고 사용하는가에 대한 설계가 들어가는 계층. 일반적으로 데이터베이스를 많이 이용하지만, 경우에 따라 네트워크 / 원격 호출 등의 기술이 접목될 수 있음.

 


1 ) 예제 프로젝트 구성 하기

ex02 / jex01 Spring Legacy Project 프로젝트 생성하기
이는 앞서 공부한 예제 프로젝트와 동일하므로 설정까지 완료된 소스를 첨부파일로 올려놓았다. 

 

- ex02 프로젝트 구성

 

- jex02 프로젝트 구성

 


2) 테이블 생성과 Dummy(더미) 데이터 생성

: SQL Developer를 이용해서 1~2강에서 작성한 book_ex 계정을 통해 테이블을 생성하고, 테스트를 위해 더미 데이터 (의미 없응 데이터)를 양식해 맞게 INSERT 한다.

<시퀀스 및 테이블 생성 쿼리>

create sequence seq_board;

create table tbl_board (
    bno number(10,0),
    title varchar2(200) not null,
    content varchar2(2000) not null,
    writer varchar2(50) not null,
    cdate date default sysdate,
    udate date default sysdate
);

alter table tbl_board add constraint pk_board primary key(bno);

<생성 결과>


<더미 데이터 삽입 쿼리>

insert into tbl_board (bno, title, content, writer) values (seq_board.nextval, '첫 번째 글 제목', '첫 번째 글 내용', ' user00');
insert into tbl_board (bno, title, content, writer) values (seq_board.nextval, '두 번째 글 제목', '두 번째 글 내용', ' user00');
insert into tbl_board (bno, title, content, writer) values (seq_board.nextval, '세 번째 글 제목', '세 번째 글 내용', ' user00');
insert into tbl_board (bno, title, content, writer) values (seq_board.nextval, '네 번째 글 제목', '네 번째 글 내용', ' user00');
insert into tbl_board (bno, title, content, writer) values (seq_board.nextval, '다섯 번째 글 제목', '다섯 번째 글 내용', ' user00');
commit;

<삽입 결과>

 

 


 

다음 시간에는 웹 프로젝트는 3-tier 방식 중 영속(Business) / 비즈니스(Business) 계층의 CRUD 구현을 진행해보도록 한다.