Mi Lugarcito
SpringBoot - Setting for M1 본문
0. setting 사항들
1. H2 - 1.4.200* 버전을 설치 (mysql 메모리로 테스트할 용도)
https://www.h2database.com/html/download-archive.html
Archive Downloads
www.h2database.com
eunsilpark@Eunsilui-MacBookPro ~ % cd Project
eunsilpark@Eunsilui-MacBookPro Project % cd h2
eunsilpark@Eunsilui-MacBookPro h2 % ls
bin build.sh service
build.bat docs src
eunsilpark@Eunsilui-MacBookPro h2 % cd bin
eunsilpark@Eunsilui-MacBookPro bin % ls
h2-1.4.200.jar h2.bat h2.sh h2w.bat
eunsilpark@Eunsilui-MacBookPro bin % chmod 755 h2.sh
eunsilpark@Eunsilui-MacBookPro bin % ./h2.sh
// http://localhost:8082/login.jsp?jsessionid=3a48d8cc32a481b93eca84c4fcd6ef3d
// 파일 지우는법
rm test.mv.db
2. 홈 경로로 들어가서 확인하기

3. 자바 11버전세팅, JDBC URL : jdbc:h2:tcp://localhost/~/test 로 변경하기
https://www.azul.com/downloads/?version=java-11-lts&os=macos&architecture=arm-64-bit&package=jdk
Downloads
No matter the size of your company, Azul offers competitive pricing options to fit your needs, your budget, and your ambition.
www.azul.com

4. 스프링부트 프로젝트 자동 세팅

5. SWAGGER v3.x
# SWAGGER v3.x
- http://localhost:3019/swagger-ui/index.html
- Execution failed for task ':compileJava' 라고 뜰때

- 그리고 빌드할때 intellij 로 설정하기 (gradle 통하지 않고 바로 빌드가능)

- java: error: release version 17 not supported -> 아래와 같이 해주기

- server port setting

빌드하고 실행하기
./gradlew build
cd build
cd libs
ls -arlth
//서버 배포시 이파일 복사해서 서버에 넣어주고 이거 실행하면 됨
java -jar esp-spring-boot-0.0.1-SNAPSHOT.jar
이후 스프링 실행됨
//잘 안될때
./gradlew clean build

Port was already in use
lsof -n -i -P | grep 3019
kill -9 16562

LOMBOK 추가하기



HOT RELOAD 적용하기




QueryDSL 적용하기
Querydsl - Unified Queries for Java
Unified Queries for Java. Querydsl is compact, safe and easy to learn. <!-- Querydsl Unified Queries for Java Querydsl provides a unified querying layer for multiple backends in Java. Compared to the alternatives Querydsl is more compact, safer and easier
querydsl.com
gradle setting 빌드이후
//querydsl 추가
buildscript {
dependencies {
classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10")
}
}
plugins {
id 'org.springframework.boot' version '2.7.2'
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
id 'java'
}
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
//querydsl 추가
apply plugin: "com.ewerk.gradle.plugins.querydsl"
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5" // jackson-datatype-hibernate5
implementation "io.springfox:springfox-boot-starter:3.0.0" // swagger
implementation "io.springfox:springfox-swagger-ui:3.0.0" // swagger
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'junit:junit:4.13.1'
implementation 'org.springframework.boot:spring-boot-starter-validation'//validation
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5'//Proxy 라이브러리를 사용함 -> bytebuddy 라는 라이브러리!!
implementation 'com.querydsl:querydsl-jpa' //querydsl 추가
implementation 'com.querydsl:querydsl-apt' //querydsl 추가
//추가
testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'//hot reload + yml setting
runtimeOnly 'mysql:mysql-connector-java'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
//querydsl 추가
def querydslDir = 'src/main/generated'
//def querydslDir = "$buildDir/generated/querydsl"
//querydsl 추가
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslDir
}
//querydsl 추가
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}
//querydsl 추가
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가
configurations {
querydsl.extendsFrom compileClasspath
}
tasks.named('test') {
useJUnitPlatform()
}
gradle setting 빌드이후 해당파일 더블클릭

폴더 생성 유무 확인

'SpringBoot' 카테고리의 다른 글
인텔리제이 세팅 (0) | 2022.09.29 |
---|---|
Webstorm 에서 데이터베이스 SQL SCRIPT 추출후 erd 그리기 (0) | 2022.05.01 |