728x90
JAVA의 build.gradle
plugins {
id 'org.springframework.boot' version '2.7.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.fastcampus.kotlinspring'
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-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.7.0"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.6.21"
kotlin("plugin.spring") version "1.6.21"
kotlin("plugin.jpa") version "1.6.21"
}
group = "com.fastcampus.kotlinspring"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
//코틀린에서의 직렬화/역직렬화를 해준다
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
//코틀린에서 필수적으로 들어가는 dependency
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
runtimeOnly("com.h2database:h2")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
}
}
tasks.withType<Test>{
useJUnitPlatform()
}
- 이전에 그냥 사용되던 코드를 함수에 넣어주면 된다.
- 롬복을 제거해서 사용해야 한다.
- spring플러그인, jpa 플러그인을 사용해 스프링을 기능을 사용하고, jpa의 기본 생성자를 만들지 않고 코틀린에서 사용하도록 한다.
- jackson-module-kotlin을 사용해 코틀린 코드로 json을 변환하도록 한다.
- reflect,stdlib 같은 경우 코틀린에서 필수적으로 사용된다.
728x90
'실무 프로젝트로 배우는 Kotlin & Spring > 자바 프로젝트(ToDo프로젝트) 코틀린으로 리팩토링 하기' 카테고리의 다른 글
| 테스트 코드 리펙토링 (0) | 2022.11.05 |
|---|---|
| 도메인(Domain, Repository) 리펙토링 (0) | 2022.11.05 |
| Service 리펙토링 (0) | 2022.11.05 |
| Controller, Dto 리펙토링 (0) | 2022.11.05 |