본문 바로가기
Project/MangoPlate Clone

Project Setting

by 혀눅짱 2023. 2. 14.

프로젝트는 Spring initializer을 이용하여 제너레이트 하였다 글을 쓰고있는 현재 프로젝트 세팅이 끝난 후이기 때문에 따로 캡쳐를 하지 않았다.

특이점이 있다면 QueryDsl을 사용하기 최적화 하기 위하여 이니셜라이저에서 제공하는 스프링 버전보다 더 낮게 설정하였다.

스프링 버전은 2.6.11

다음은 프로젝트 라이브러리 관련 build.Gradle이다. 

buildscript {
   ext {
      queryDslVersion = "5.0.0"
   }
}
plugins {
   id 'java'
   id 'org.springframework.boot' version '2.6.11'
   id 'io.spring.dependency-management' version '1.0.15.RELEASE'
   //querydsl 추가
   id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

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



configurations {
   compileOnly {
      extendsFrom annotationProcessor
   }
}

repositories {
   mavenCentral()
}

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
   implementation 'org.springframework.boot:spring-boot-starter-validation'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.0'
   implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-aws', version: '2.2.5.RELEASE'
   //querydsl 추가
   implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
   annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"
   compileOnly 'org.projectlombok:lombok'
   runtimeOnly 'com.h2database:h2'
   runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
   annotationProcessor 'org.projectlombok:lombok'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'



}

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

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
   jpa = true
   querydslSourcesDir = querydslDir
}
sourceSets {
   main.java.srcDir querydslDir
}
configurations {
   querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
   options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가 끝

 

사실 뭐 디펜던시만 고르고 add하면 이니셜라이저에서 알아서 implements하기때문에 특별히 신경쓸건 없지만 querydsl과 aws는 예외다. 이건 이니셜라이저에서 해주지 않기때문에 직접설정하였다.

다행히 나는 Jpa와 querydsl 온라인 강의를 수강한 경험이 있어 레퍼런스 할 자료를 가지고있었다. 요즘 jpa강의는 인프런의 그분이 워낙 핫해서 어떤 강의인지는 너무 뻔하다.

 

implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-aws', version: '2.2.5.RELEASE'

이부분은 aws 파일서버를 위해 세팅하였다. 이번 프로젝트에서는 이미지정도만 파일서버에 저장할 것 같다. 

다음 시간에는 본격적으로 프로젝트와 db연동 및 기타 properties세팅을 해야겠다.

'Project > MangoPlate Clone' 카테고리의 다른 글

공통컴포넌트 및 유틸  (0) 2023.02.14
JPA Setting 및 Test  (0) 2023.02.14
MyBatis Setting 및 Test  (0) 2023.02.14
Project Detail Setting  (0) 2023.02.14
MangoPlate Clone Project  (0) 2023.02.14