Mi Lugarcito

SpringBoot - Setting for M1 본문

SpringBoot

SpringBoot - Setting for M1

selene park 2022. 7. 23. 19:51

0. setting 사항들

jpashop-v20210728.zip
5.13MB
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발v2.1.pdf
1.52MB
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 v2021-08-05.pdf
0.47MB
예제 도메인 모델 - 2편만 듣는 분을 위한 내용.pdf
0.53MB
jpashop2-api-v20210805.zip
5.15MB

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. 스프링부트 프로젝트 자동 세팅

https://start.spring.io/

 

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 적용하기

http://querydsl.com/

 

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