반응형
프로젝트 생성
개발자들 사이에서 코프링이라고 불리는 Kotlin 언어와 Spring 프레임워크를 활용한 프로젝트를 만들어보자. 기존 자바 스프링 프로젝트와 같이 Spring Initializr 또는 IntelliJ에서 프로젝트를 만들 수 있다.
간단히 프로젝트를 생성하고 실행하여 웹에서 확인하기 위해 의존성에 Spring Web을 추가하여 만들어보자.
Spring Initializr
https://start.spring.io/에 접속하여 프로젝트를 생성한다.
IntelliJ IDEA Ultimate
코프링 프로젝트 패키지 구조
- 기본적으로 자바 + 스프링 프로젝트와 같은 패키지 구조를 구성하고 있다.
- build.gradle.kts는 기존 build.gradle과 같은 역할을 하는 파일이며, 클래스 파일 확장자가 .kt로 구성되어 있는 것을 알 수 있다.
Build.gradle.kts
기본적으로 자바 스프링의 Build.gradle과 비슷한 구조로 되어 있으나 약간의 차이점이 존재한다. 코틀린은 자바와 상호 운용이 가능하기 때문에 자바와 관련된 몇 가지 설정이 추가되어 있다.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "3.1.1"
id("io.spring.dependency-management") version "1.1.0"
kotlin("jvm") version "1.8.22"
kotlin("plugin.spring") version "1.8.22"
kotlin("plugin.jpa") version "1.8.22"
}
group = "com.kopring"
version = "0.0.1-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_17
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "17"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
- 스프링 부트 3.0부터는 Java 17을 기본으로 설정하게 되어 있어 jvmTarget이 17로 설정되어 있다.
Application.kt
애플리케이션 클래스 파일 확장자가 .kt로 구성되어 있으며 내부 코드도 코틀린 언어의 문법을 따르고 있다.
@SpringBootApplication
class ExampleApplication
fun main(args: Array<String>) {
runApplication<ExampleApplication>(*args)
}
프로젝트 실행
프로젝트 생성 후 실행하면 실행 결과를 웹에서 확인할 수 있다.
웹 브라우저에서 localhost:8080에 접속하면 다음과 같은 화면을 확인할 수 있다.
Controller 작성
이제 HelloController를 작성하여 웹 브라우저에 텍스트를 띄워보자.
HelloController
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class HelloController {
@GetMapping("/")
fun hello(): String {
return "Hello Kopring!"
}
}
애플리케이션을 다시 실행하여 웹 브라우저에 localhost:8080에 접속하면 결과를 확인할 수 있다.
반응형
'프레임워크(Framework) > Kopring(Kotlin + Spring)' 카테고리의 다른 글
[Kopring] JPA Auditing - 생성/수정 시각 설정 및 테스트 (0) | 2023.11.21 |
---|---|
[Kopring] 코틀린 스프링 환경에서 JPA Entity 정의하기 (3) | 2023.07.27 |