인프런 커뮤니티 질문&답변
내가 쓴 SpringBoot 2.7 에서의 queryDsl 설정 방법.
작성
·
1.6K
·
수정됨
8
다른 블로그 참고하여 강의에 맞게 설정을 조금 수정하였습니다.
새롭게 강의 듣는 분들의 시간을 아낄 수 있을까 싶어 공유드립니다.
장점
QEntity 생성 경로가 강의와 같습니다.
src/main 하위가 아닌 generated 하위에만 QEntity 가 생성 되어 git ignore설정을 따로 해주지 않아도 됩니다.
저도 이 강의의 이 회차를 듣고 알아본 것이기 때문에 QEntity 가 잘 생성되어 Run이 잘되는 것만 확인했지 다른 것까지 모두 테스트 해보진 못했습니다.
compileQueryDsl 동작 없이 Application Run 하시면 되겠습니다.
아래 설정의 잘못된점이 있다면 댓글 달아주시면 모두에게 도움이 될 것 같습니다.
내 블로그 : https://elastinn.tistory.com/11
블로그 광고해도 되나 모르겠습니다.
감사합니다.
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.12'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
// queryDSL 설정
implementation "com.querydsl:querydsl-jpa"
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"
// java source set 에 querydsl QClass 위치 추가
sourceSets {
main.java.srcDirs += [ querydslDir ]
}
// gradle clean 시에 QClass 디렉토리 삭제
clean {
delete file(querydslDir)
}
//querydsl 추가 끝퀴즈
71%나 틀려요. 한번 도전해보세요!
Spring Boot 프로젝트 초기 설정 시, Lombok과 H2 데이터베이스를 사용하는 주된 목적은 무엇일까요?
애플리케이션 성능을 최적화하기 위해서
개발 편의성 증대 및 테스트 환경 간소화를 위해서
보안 기능을 강화하고 사용자 인증을 처리하기 위해서
빅데이터 분석 및 고급 보고서 기능을 제공하기 위해서





