Project Setting
각종 설계에 들어가기 전에, project setting을 진행한다.
JVM + Spring Setting
2021.12.20 - [Spring] - Spring + Kotlin 환경 세팅 (Ubuntu 20.04 + VScode)
Intellij install
spring framework를 사용하기에 개인적으로 intellij만큼 편한게 없는거 같으니 설치해서 편집기로 사용해 주자...
Project Start
에 접속해서 다음과 같이 세팅 한뒤 다운받아 주자.
파일을 받은 뒤 압축을 해제하면 기본적인 파일 구조가 잡혀 있다.
Gradle setting
프로젝트를 진행하기 위한 dependency를 확인하기 위해 build.gradle.kts를 다음과 같이 변경한다.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
val kotlinVersion = "1.6.10"
id("org.springframework.boot") version "2.6.3"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
id("org.asciidoctor.convert") version "1.5.8"
kotlin("jvm") version kotlinVersion
kotlin("plugin.spring") version kotlinVersion
kotlin("plugin.jpa") version kotlinVersion
}
group = "com.studuy"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
val snippetsDir by extra { file("build/generated-snippets") }
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-mustache")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
runtimeOnly("com.h2database:h2")
runtimeOnly("org.springframework.boot:spring-boot-devtools")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.MappedSuperclass")
annotation("javax.persistence.Embeddable")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
tasks.test {
outputs.dir(snippetsDir)
}
tasks.asciidoctor {
inputs.dir(snippetsDir)
dependsOn(tasks.test)
}
- 설명
- implementation("org.springframework.boot:spring-boot-starter-data-jpa")
- Spring의 Data JPA를 사용하기 위한 종속성이다.
- implementation("org.springframework.boot:spring-boot-starter-web")
- Spring의 Web MVC를 사용하기 위한 종속성이다.
- implementation("org.springframework.boot:spring-boot-starter-mustache")
- Spring의 mustache( html rendering )를 사용하기 위한 종속성이다
- runtimeOnly("com.h2database:h2")
- H2 Data Base를 사용하기 위한 종속성이다.
- implementation("org.springframework.boot:spring-boot-starter-data-jpa")
**Intellij같은 경우는 알아서 빌드를 해주지만 아닌 경우에는 terminal에 다음과 같이 입력해주자
cd ~/{your project}
./gradlew build
이렇게 돼면 기본적인 프로젝트 세팅이 끝났다.
'웹' 카테고리의 다른 글
Spring + Kotlin API Server 만들기 (6) : AWS EB + github action으로 CI/CD 구축 (0) | 2022.02.15 |
---|---|
Spring + Kotlin API Server 만들기 (4) : Service , TDD (0) | 2022.02.15 |
Spring + Kotlin API Server 만들기 (3) : Entity , Repository (0) | 2022.02.15 |
Spring + Kotlin API Server 만들기 (1) : 프로젝트 시작, MVC 패턴 (0) | 2022.02.15 |
Spring + Kotlin 환경 세팅 (Ubuntu 20.04 + VScode) (2) | 2021.12.20 |