QueryDSL
QueryDSL의 장점 및 gradle-groovy의 적용 방법은 이 글에 정리해두었다.
위 글에서는 gradle-groovy 에서의 세팅 방법이었다.
이번 글에서는 gradle-kotlin 에서 세팅하는 방법을 정리해두려 한다.
gradle-kotlin에서 QueryDSL 적용
gradle-groovy 와 gradle-kotlin 은 문법이 많이 달라서 바꿔서 적용하느라 고생을 꽤 했다.
그래도 한번 정리해두면 두고두고 쓸 수 있을것 같다.
build.gradle.kts
build.gradle.kts의 전문은 아래와 같다.
plugins {
java
id("org.springframework.boot") version "3.3.0"
id("io.spring.dependency-management") version "1.1.5"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
val queryDslVersion = "5.0.0" // QueryDSL Version 설정
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
...
// QueryDSL 의존성 추가
implementation("com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta")
implementation ("com.querydsl:querydsl-core")
implementation ("com.querydsl:querydsl-collections")
annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}:jakarta")
annotationProcessor("jakarta.annotation:jakarta.annotation-api")
annotationProcessor("jakarta.persistence:jakarta.persistence-api")
...
}
tasks.withType<Test> {
useJUnitPlatform()
}
``` 설정 추가 시작
val querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
sourceSets.getByName("main") {
java.srcDir(querydslDir)
}
tasks.withType<JavaCompile> {
options.generatedSourceOutputDirectory.set(file(querydslDir))
}
// clean 이후에 querydsl 폴더를 지움
tasks.named("clean") {
doLast {
file(querydslDir).delete()
}
}
``` 설정 추가 끝
'백엔드 > 연습' 카테고리의 다른 글
Spring Boot Actuator 써보기 (0) | 2024.06.05 |
---|---|
EasyRandom 라이브러리 사용해보기 (0) | 2024.05.23 |
포트원 API 사용해보기 (0) | 2024.04.04 |
plain-jar 파일 생성 방지 (0) | 2024.01.16 |
JWT 발급해보기 (0) | 2023.10.04 |