회원 가입, 로그인 , 기본적인 게시판 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
'ToyProject' 카테고리의 다른 글
스프링 게시판 만들기 - 5 (2) ( 로그인 처리 feat.스프링 시큐리티) (0) | 2022.01.22 |
---|---|
스프링 게시판 만들기 - 5 (1) ( 로그인 처리 feat.스프링 시큐리티) (2) | 2022.01.21 |
스프링 게시판 만들기 - 4 (회원 가입 & Controller 만들기) (0) | 2022.01.15 |
스프링 게시판 만들기 - 3 (화면 생성 / HTML , CSS with BootStrap 사용법) (0) | 2022.01.14 |
스프링 게시판 만들기 - 2 (도메인 생성 , Member 테스트) (4) | 2022.01.12 |
댓글