티스토리 뷰

build.gradle

plugins {
   id 'org.springframework.boot' version '2.6.7'
// id 'org.springframework.boot' version '2.5.12'  //feign 사용을 하려면 버전이 2.5까지만 가능 2.6.x 시 오류 발생
   id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

group = 'com.project'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

// Querydsl 사용을 위한 설정
def querydslVersion = '4.3.1'
// Querydsl end

repositories {
   mavenCentral()
}

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-batch'
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   implementation 'org.springframework.boot:spring-boot-starter-quartz'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   implementation 'org.projectlombok:lombok:1.18.22'
   annotationProcessor('org.projectlombok:lombok'); // <- 없으면 log.info 에러 발생
   developmentOnly 'org.springframework.boot:spring-boot-devtools'
   runtimeOnly 'com.h2database:h2'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
   testImplementation 'org.springframework.batch:spring-batch-test'

//feign 사용 시 필요
/*
   implementation "org.springframework.cloud:spring-cloud-starter-openfeign" 
   implementation group: 'io.github.openfeign', name: 'feign-gson', version: '11.0'
*/


//   implementation "com.fasterxml.jackson.core:jackson-core:2.13.2" //JSONParser 사용시 필요
//   implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.2'
//   implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.2.2'
//   implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.2'

   // Querydsl 사용을 위한 설정
   implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion
   implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
   implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion

   annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
   //annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion, classifier: 'jpa'
   annotationProcessor("jakarta.persistence:jakarta.persistence-api")
   annotationProcessor("jakarta.annotation:jakarta.annotation-api")
   // Querydsl end
   
   implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0' /* jpa query log */

}

//feign 사용 시 위해 필요
/*
dependencyManagement {
   imports {
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:2020.0.3"
   }
}
*/

tasks.named('test') {
   useJUnitPlatform()
}

// Querydsl
clean {
   delete file('src/main/generated') // <--인텔리제이 Annotation processor 생성물 생성위치
}
// Querydsl end

 

 

application.properties

server.port = 8081

#H2 ;MODE=LEGACY 안붙이면 오류 발생됨
#spring.datasource.url=jdbc:h2:tcp://localhost/~/test;MODE=LEGACY
#spring.datasource.driverClassName=org.h2.Driver
#spring.datasource.username=sa
#spring.datasource.password=

# MySQL
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://192.168.62.22:3306/mng?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul
#spring.datasource.username=OOO
#spring.datasource.password=OOOO

# mariadb
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://192.168.62.22:3306/OOOO
spring.datasource.username=OOOO
spring.datasource.password=OOOO


#하이버네이트 설정
spring.jpa.hibernate.ddl-auto=none
#create 기존 테이블 삭제 후 다시 생성(DROP + CREATE)
#create-drop : create와 같으나 종료시점에 테이블 DROP(테스트에서 사용하면 도움됨)
#update : 변경분만 반영(운영DB에는 사용하면 안됨)
#validate : 엔티티와 테이블이 정상 매핑되었는지만 확인
#none : 사용하지 않음
#운영 장비에는 절대 create, create-drop, update 사용하면 안된다.
#개발 초기 단계는 create 또는 update
#테스트 서버는 update 또는 validate
#스테이징과 운영 서버는 validate 또는 none 웬만하면 쓰면 안된다.


#하이버네이트 로그 관련 (필수)
spring.jpa.generate-ddl=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.highlight_sql=true
logging.level.org.hibernate.type.descriptor.sql=trace

# jpa Query log
decorator.datasource.p6spy.enable-logging=true
decorator.datasource.p6spy.multiline=true

 

Intellij

1. Spring Boot DevTools 사용을 위한 설정

1) 상단 File > Setting 메뉴 (또는 단축키 Ctrl+Alt+S) 클릭

- Build, Exeution, Deployment > Compiler > Build project autiomaically 체크

- Advanced Settings > Allow auto-make to start even if developed application is currently running 체크   

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday