728x90
반응형
|
|
프로젝트 생성

의존성
- Spring Web : 웹 관련 기능들을 수행한다.
- Spring Data JPA : JPA로 데이터 접근을 편하게 만들어준다.
- Spring Security : 인증 인가 관련한 기능들을 제공해준다.
- Lombok : 어노테이션으로 builder, getter, setter, 등의 페턴을 편하게 사용하게 해준다.
- Validation : HTTP 요청이 포함한 데이터 형식을 검증해준다.
- MariaDB Driver : DB로는 Maria를 사용한다.
초기 설정
Intellij IDEA -> Settings


Build and run using, Run test using을 IntelliJ IDEA 로 바꾸어줍니다.
Gradle로 설정할 경우 실행을 Gradle에게 위임하기 때문에 시간이 조금 더 걸린다고들 하는데 저는 체감이 잘 안됩니다.
일단 그렇다고들 하니 시간을 조금이라도 아끼기 위해 설정해줬습니다.
Enable annotation processing을 활성화 시켜줍니다.
annotaionProcessor는 컴파일 시점에 Annotation 기반으로 코드를 변경하거나 생성하는 방법을 말합니다.
저는 Lombok을 사용할 것이니 Enable annotation processing을 체크해 활성화 시킵니다.
build.gradle에 추가
SQL문이 나간 로그를 보기위해 추가해줍니다.
//p6spy - SQL 로그
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.7.1'
application.yml 설정
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://${DB_HOST}:3306/board
username: ${DB_USER}
password: ${DB_PASSWORD}
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
show_sql: true
format_sql: true
logging:
level:
org:
hibernate:
type.descriptor.sql: trace #show parameter binding
SQL: DEBUG
환경변수 설정
application.yml에서 사용하는 환경변수 3개를 환경변수로 추가해줍니다.
저는 데이터베이스는 docker로 띄워뒀습니다.



실행
실행시키니 잘 뜨는걸 볼수 있었고
localhost:8080으로 들어가봤을때도 잘 작동하고 있습니다.
아무 페이지도 넣지 않았음에도 sing in 페이지가 나오는거는 spring security를 의존하고 있기 때문입다.


다음으로
이제 회원가입과 JWT를 활용한 로그인을 구현해 보도록 하겠습니다.
728x90
반응형
'프로젝트 > 게시판 프로젝트' 카테고리의 다른 글
| [SpringBoot/게시판] 게시판 API(3) -JSON 로그인을 위한 회원 엔티티 설계 (0) | 2024.02.15 |
|---|---|
| [SpringBoot/게시판] 게시판 API(1) - 프로젝트 개요 (0) | 2024.02.15 |