2020. 6. 25. 16:03ㆍWeb/Spring
오늘 다루어볼 내용은 spring data mongo + querydsl 연동 및 간단한 예제를 다루어볼 것이다. 예제 환경은 아래와 같다.
- gradle : 6.4.1
- spring boot : 2.3.1.RELEASE
모든 코드는 아래 깃헙을 참고하자.
yoonyeoseong/spring-mongo-querydsl
Contribute to yoonyeoseong/spring-mongo-querydsl development by creating an account on GitHub.
github.com
<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 |
작성중...
<참고>
Spring Data MongoDB - Reference Documentation
As of version 3.6, MongoDB supports the concept of sessions. The use of sessions enables MongoDB’s Causal Consistency model, which guarantees running operations in an order that respects their causal relationships. Those are split into ServerSession inst
docs.spring.io
gradle 프로젝트에서 querydsl 설정하기
gradle 4.6 / querydsl 4.2.1 / spring-data-jpa 1.11.13.RELEASE / spring-data-mongodb 1.10.8.RELEASE이 환경을 어떻게 gradle 설정으로 푸는지 정리힙니다.
mingpd.github.io
ewerk/gradle-plugins
A collection of Gradle plugins. Contribute to ewerk/gradle-plugins development by creating an account on GitHub.
github.com
'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 |