Spring Data REST 테스트 제외 처리
이것은 이 프로젝트의 비즈니스 로직으로 구현한 내용이 아니라 data rest 기능이고, 통합테스트라 무거우며 db 에도 영향을 준다. 공부 목적으로도 의미는 있기 때문에 삭제하지는 않고 제외 처리해서 전체 테스트 중에 실행되지 않게끔 처리
⇒ DataRestTest.java 에 @Disabled annotation 추가해줌.
Querydsl 디펜던시 및 설정 .gitignore 추가
Querydsl 사용할 수 있는 환경을 구성. 자동 생성 클래스는 프로젝트에 포함되면 안되므로 .gitignore 로 제외
### Querydsl
/src/main/generated
// 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) 대응 코드
}
// Querydsl 설정부
def generated = 'src/main/generated'
// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(generated))
}
// java source set 에 querydsl QClass 위치 추가
sourceSets {
main.java.srcDirs += [ generated ]
}
// gradle clean 시에 QClass 디렉토리 삭제
clean {
delete file(generated)
}
Querydsl 지원을 이용하여 api 검색 옵션 추가
``QuerydslPredicateExecutor QuerydslBinderCustomizer 를 이용하여 간단하게 개발