본문 바로가기
ToyProject

스프링 게시판 만들기 - 1 (초기 설정)

by 완두완두콩 2022. 1. 11.

회원 가입, 로그인 , 기본적인 게시판 CRUD 를 구현 해보는

간단한 토이 프로젝트를 구현해보고자 한다.

(추가적으로 페이징 처리, 댓글, spring-validation , spring-security 도 구현&사용해 보고자 하나

천천히 수정해나가는걸로..) 

 

 

기본 설정


사용 언어 : Java Spring , JPA , Thymeleaf

DB : H2

 

https://start.spring.io/ 에서 기본 세팅.

Spring 을 사용할 예정이기에 Spring Web 추가 , 사용의 편리를 위한 Lombok

DB 를 위해 H2 Database 를 추가 , JPA 추가

템플릿 엔진으로는 Thymeleaf 추가

Lombok 사용을 위해 설정 -> Annotation Processors 검색 -> Enable annotation processing 선택

웹 서버를 빨리 띄우기 위해  설정 -> gradle 검색 -> Build and run using 과 Run tests using 을 IntelliJ IDEA 로 변경

 

H2 DB 설정

application.properties

# H2 설정
spring.datasource.url=jdbc:h2:tcp://localhost/~/board
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

# JPA 설정
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.format_sql=true


# Log 설정
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type=trace

build.gradle

implementation 'org.springframework.boot:spring-boot-devtools'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'

devtools 는 html 을 수정하는 경우 , 서버를 재시작 하지 않고 보여주는 툴 -> 선택

p6spy 는 SQL 실행 파라미터를 로그로 남기기 때문에 입력한 값이 ? ? 가 아닌 실제 값으로 표현 -> 선택( 운영 단계에서는 성능 테스트 해보고 적용 )

 

 

ERD


 

Member 테이블과 Board 테이블 두 개의 테이블 1:N 관계로 구성하였다.

더 많은 테이블과 엔티티는 추후에 필요한 경우 점차 추가해 나가 본다.

 

- 2편

https://dodokong.tistory.com/20?category=1249752

 

스프링 게시판 만들기 - 2 (도메인 생성 , Member 테스트)

DB 생성 코드 Member package toyproject.board.domain; import lombok.Builder; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotBlank; impo..

dodokong.tistory.com

 

댓글