1. 기획
1) 주제 선정
스프링 프레임워크를 활용하여 게시판과 로그인 기능을 구현한다.
2) 주요 기능
- 게시글과 답글 (CRUD)
- 댓글과 답글 (CRUD)
- 로그인
- 검색과 페이징
- 첨부파일
3) 개발 일정
2022년 4월 25일 ~
4) 프로젝트 수행 도구
- Language: Java 11
- Framework: Spring 3.9.11, Maven
- Database: Oracle
2. 요구분석
1) 요구분석서 작성
로그인 |
|
회원가입 |
|
게시판 | 게시글
|
검색 |
|
페이징 |
|
2) 정책정의서 작성
1 | commcomm-front-signup-01 | 회원가입 정책 | 가입 범위 | 미성년자 가입 여부 | 가입 가능 |
2 | commcomm-front-signup-02 | 회원가입 정책 | 가입 정보 작성 | 아이디 생성 규칙 |
|
3 | commcomm-front-signup-03 | 회원가입 정책 | 가입 정보 작성 | 비밀번호 생성 규칙 |
|
4 | commcomm-front-signup-04 | 회원가입 정책 | 가입 정보 작성 | 이메일 작성 |
|
5 | commcomm-front-board-01 | 게시판 정책 | 게시글 작성 | 게시글 제목 최대 글자 수 제한 | 한글 30자까지 입력 |
6 | commcomm-front-board-02 | 게시판 정책 | 게시글 작성 | 게시글 내용 최대 글자 수 제한 | 한글 1000자까지 입력 |
7 | commcomm-front-board-03 | 게시판 정책 | 게시글 작성 | 첨부파일 유형 제한 | 첨부 가능한 파일 유형은 문서, 사진, 입축파일로 제한 |
8 | commcomm-front-board-04 | 게시판 정책 | 게시글 작성 | 첨부파일 크기 제한 | 첨부 가능한 파일 크기는 3MB로 제한 |
9 | commcomm-front-board-05 | 게시판 정책 | 댓글 작성 | 댓글 작성 시 최대 글자 수 제한 | 댓글 작성 시 최대 300자로 제한 |
3. 설계
1) UI 설계
프로토타입
2) DB 설계
ERD
물리적 설계
테이블 정의서
4. 구현
1) 프론트엔드 구현
2) 백엔드 구현
5. 테스트
본 포스팅은 스프링 프레임워크를 이용하여 기본적인 게시판을 만드는 방법을 설명합니다.
안녕하세요. 이번 포스팅은 Spring Framework를 이용하여 게시판 만드는 방법을 설명합니다.
Spring Framework를 간단하게 설명하자면 아래의 4가지의 특징이 있습니다.
- IOC(제어 반전 컨테이너) : 스프링을 가장 핵심기능으로 자바의 반영을 이용하여 객체의 생명주기를 관리하고 의존성 주입을 통해 각 계층이나 서비스들 간의 의존성을 맞춰준다.(Maven을 통해 라이브러리를 관리하는 것)
- AOP(관점 지향 프로그래밍) : 기능들을 모듈로 분리하여 서로 조합하여 사용
- MVC 패턴
- 배치 프레임워크 : 대용량 데이터를 처리하는 데 쓰이는 일괄처리(Batch Process)을 지원하는 배치 프로그래밍 지원
Spring Framework는 프로젝트를 경량화 시키고 쉽게 확장시킬 수 있는 것에 주안점을 두고 있다고 할 수 있습니다.
STS 설치
//github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3
spring-projects/toolsuite-distribution
the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - spring-projects/toolsuite-distribution
github.com
STS(Spring Tool Suite)는 현재 STS 4버전 까지 나와있습니다.
프로젝트를 Spring Legacy로 진행할 예정으로 4버전에서는 추가적인 설치가 필요하기 때문에 3 버전으로 설치해주도록 합니다.
프로젝트 생성
프로젝트의 생성은 아래의 순서로 진행합니다.
- Pachage Explorer 오른쪽 클릭 -> New -> Spring Legacy Project
- Project name 입력 후 Templates은 Spring MVC Project 선택
- Top Level Package Name 입력
Top Level Pachage Name은 com.[회사명].[프로젝트명] 으로 보통 입력합니다.
인코딩 설정
프로젝트를 생성하였으면 몇가지의 인코딩 설정이 필요합니다.
- 상단 메뉴의 Window -> General -> Workspace -> Text File Encoding UTF-8 설정
- 프로젝트 오른쪽 클릭 Properties -> Resource -> Text File Encoding UTF-8 설정
- src -> main -> webapp -> WEB-INF -> views -> home.jsp 에 인코딩 코드 추가(안 해도 되긴 합니다.)
- src -> main -> webapp -> WEB-INF -> web.xml에 <web-app></web-app> 사이에 인코딩 설정 코드 추가
JAVA 및 스프링 버전 설정
인코딩 설정이 끝났으면 JAVA 버전 및 스프링 버전을 설정해줍니다.
JDK버전은 현재 설치된 JAVA 버전을 설정해주고, 스프링 버전은 3.1.1 또는 4.3.8 버전을 사용합니다.
- 프로젝트 오른쪽 클릭 Properties -> Project Facets -> Java 1.8 버전으로 수정
- pom.xml 에서 java-versoin 1.8로 수정, springframework-version 3.1.1.RELEASE 또는 4.3.8.RELEASE 수정
다음은 데이터베이스 셋팅과 스프링과 데이터 베이스의 연동에 대해 포스팅하도록 하겠습니다.