build.gradle 설정은 이렇게 해주세요.
주석에 기본 설정이랑 추가 설정 QueryDsl정도만 보시면 될 거 같습니다.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.5.10"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.5.32"
kotlin("plugin.spring") version "1.5.32"
//기본 설정 추가
kotlin("plugin.allopen") version "1.5.32"
kotlin("kapt") version "1.5.32"
kotlin("plugin.noarg") version "1.5.32"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
val qeurydslVersion = "4.4.0" // <= 추가 설정
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
//코틀린 관련
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
//직렬화 플러그인
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0")
// QueryDSL
implementation("com.querydsl:querydsl-jpa:$qeurydslVersion")
kapt("com.querydsl:querydsl-apt:$qeurydslVersion:jpa")
kapt("org.springframework.boot:spring-boot-configuration-processor")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
compileOnly("org.projectlombok:lombok")
runtimeOnly("org.postgresql:postgresql")
annotationProcessor("org.projectlombok:lombok")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
코끼리 한 번 눌러준다.
QClass 생성
차례로 한 번씩 누르면 QClass가 생성된다.
엔티티를 추가하거나 삭제됐을때에도 아래 루틴을 한 번씩 추가로 실행해야 한다.
Gradle - build- clean
Gradle - other - compilieKotlin
QClass 확인
kapt 플러그인을 사용했기 때문에 kapt 폴더 안에 생성된 것을 확인할 수 있다.
'스프링 부트 > 코틀린' 카테고리의 다른 글
[코틀린] redis cache 적용 시키기 (0) | 2022.03.11 |
---|---|
[코틀린] 생성시간, 수정시간 Auditing으로 자동 적용하기 (0) | 2022.03.11 |
[코틀린] 인터페이스 사용법 (0) | 2022.03.09 |
[코틀린] 데이터 클래스 data class (0) | 2022.03.09 |
[코틀린] for문, while문, Iterator 사용법 (0) | 2022.03.09 |
댓글