Spring Data - MongoDB&queryDsl 예제
2020. 6. 25. 16:03ㆍWeb/Spring
오늘 다루어볼 내용은 spring data mongo + querydsl 연동 및 간단한 예제를 다루어볼 것이다. 예제 환경은 아래와 같다.
- gradle : 6.4.1
- spring boot : 2.3.1.RELEASE
모든 코드는 아래 깃헙을 참고하자.
<gradle 설정>
아래는 spring data mongo와 querydsl 연동을 위한 gradle 설정이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
buildscript {
ext {
queryDslVersion = '4.3.0'
}
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.3.1.RELEASE")
}
}
plugins {
id 'org.springframework.boot' version '2.3.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id "com.ewerk.gradle.plugins.querydsl" version '1.0.10'
id 'java'
id 'idea'
}
group = 'com.levi'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '14'
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive'
compile 'org.springframework.boot:spring-boot-starter-webflux'
compile('org.springframework.boot:spring-boot-configuration-processor')
compile "com.querydsl:querydsl-mongodb:${queryDslVersion}"
compile 'org.projectlombok:lombok'
annotationProcessor(
'org.springframework.boot:spring-boot-configuration-processor',
"com.querydsl:querydsl-apt:${queryDslVersion}",
'org.projectlombok:lombok'
)
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation 'io.projectreactor:reactor-test'
}
test {
useJUnitPlatform()
}
def querydslSrcDir = 'src/main/querydsl'
querydsl {
springDataMongo = true
querydslSourcesDir = querydslSrcDir
}
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslSrcDir]
}
}
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
project.afterEvaluate {
project.tasks.compileQuerydsl.options.compilerArgs = [
"-proc:only",
"-processor", project.querydsl.processors() + ',lombok.launch.AnnotationProcessorHider$AnnotationProcessor'
]
}
|
cs |
작성중...
<참고>
'Web > Spring' 카테고리의 다른 글
대용량 트래픽관련 유튜브 영상들 (0) | 2023.11.02 |
---|---|
웹플럭스에서 블록킹 연산의 영향은? 해결 방법? (0) | 2021.11.17 |
Spring Data - 여러 spring data module을 사용할때 레퍼런스 (0) | 2020.06.25 |
Springboot - reactive mongo driver 사용시 ClusterSettings 시 유의사항 (0) | 2020.05.15 |
Spring - application.yaml(.properties) 파일 로드 규칙 및 순서 (0) | 2020.04.29 |