Open seungriyou opened 8 months ago
Rearrange Code도 하자
lombok
설정두 가지 방법이 있는데, 외부 라이브러리를 사용하는 방법을 선택하겠다.
application.yml
설정 추가
```yaml
logging.level:
org.hibernate.type: trace
```
외부 라이브러리 사용
p6spy
의 latest release version을 확인하고, build.gradle
에 다음과 같이 추가한다. (현재는 1.9.1
)
implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:${version}")
혹은
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1'
[!caution] 운영에서 사용하려면 로그를 많이 남기기 때문에 성능 테스트를 수행해야 한다.
build.gradle
에 추가할 것https://github.com/gavlyukovskiy/spring-boot-data-source-decorator (
p6spy
)
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1'
// test lombok 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
스프링 부트 3.0+ (https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit)
//Querydsl 추가
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
파일의 맨 끝에 다음을 추가해준다.
clean {
delete file('src/main/generated')
}
docker-compose.yml
version: '3.8'
services:
db:
image: mysql:8.0
platform: linux/x86_64
container_name: mysql_db
restart: always
ports:
- ${DB_PORT}:${DB_PORT}
env_file:
- .env
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
TZ: ${DB_TIMEZONE}
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- ./db/mysql/conf.d:/etc/mysql/conf.d
- ./db/mysql/data:/var/lib/mysql
- ./db/mysql/initdb.d:/docker-entrypoint-initdb.d
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-p${DB_ROOT_PASSWORD}" ]
retries: 3
timeout: 5s
.env
DB_HOST=localhost
DB_PORT=3306
DB_ROOT_PASSWORD=1234
DB_USERNAME=sryou
DB_PASSWORD=1234
DB_DATABASE=practice
DB_TIMEZONE=Asia/Seoul
Contents
IDE (IntelliJ) 설정
Dependency 설정
build.gradle
에 추가할 것DB, ORM 관련 설정