이번 주차부터 Kotlin과 Spring Boot에 대하여 학습을 진행하게 되었다.
우선 이번 주차 과제의 목표는 Todo App 만들기이다.
--- | --- |
---|---|
IDE | Intellij Ultimate |
Spring Boot Version | 3.2.0 |
Postgresql Version | 15 |
개발 인원 | 1 |
사용 언어 | Kotlin |
# application.yaml
server:
port: 9001
spring:
jpa:
show-sql: false
hibernate:
ddl-auto: create
datasource:
url: ${POSTGRES_URL}
username: ${POSTGRES_ID}
password: ${POSTGRES_PW}
logging:
level:
com.zaxxer.hikari: TRACE
com.zaxxer.hikari.HikariConfig: DEBUG
p6spy: info
decorator:
datasource:
p6spy:
enable-logging: true
multiline: true
spring:datasource:url, username, password의 경우 gitignore + 관리의 편이성을 원하여 spring dotenv를 사용하였다.
dependencies에 추가하고 .env파일만 만들어주면 설정이 끝이라 매우 간단하다.
이외는 java Spring Boot와 별 차이가 없어서 넘어가도록 한다.
우선, Kotlin에서 Jpa를 편하게 다루기 위해서는 필요한 설정이 있다.
plugins{
kotlin("plugin.allopen") version "1.9.20"
kotlin("plugin.jpa") version "1.9.20"
}
// javaEE라면 javax. 으로 시작한다.
allOpen {
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.MappedSuperclass")
annotation("jakarta.persistence.Embeddable")
}
우선 allopen의 경우 이 설정이 없다면 entity마다 open을 달아줘야 한다.
jpa의 경우 noarg의 플러그인의 기능을 포함하고 있는데, hibernate에서는 기본 생성자를 필요로 하기 때문에 그 부분을 생성해주게 된다.
추후 수정을 통해 내용을 추가 예정