Mi Lugarcito
SpringBoot - Setting for M1 본문
0. setting 사항들
1. H2 - 1.4.200* 버전을 설치 (mysql 메모리로 테스트할 용도)
https://www.h2database.com/html/download-archive.html
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
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 적용하기
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 |