Kotlin + Spring Boot 기본 설정
개요
Kotlin + Spring Boot 프로젝트의 기본 설정을 설명한 포스트입니다. 💂🏻♀️
Spring Framework
Kotlin + Spring Boot 프로젝트의 기본 설정을 설명한 포스트입니다. 💂🏻♀️
Spring은 모던한 Java 기반의 (기업 단위) 애플리케이션을 위한 광범위한 프로그래밍과 설정 모델을 제공하는 프레임워크입니다. 개발팀이 배포 환경을 명시하는 것에 얽매이지 않고 애플리케이션 차원의 비즈니스 로직에만 집중할 수 있도록 만들어주는 "인프라" 제공에 초점을 두고 있습니다.
기능
- Core technologies dependency injection(의존성 주입), events, resources, i18n(internationalization), validation, data binding, type conversion, SpEL(Spring Expression Language), AOP(Aspect Oriented Programming)
- Testing mock objects, TestContext framework, Spring MVC Test,
WebTestClient
- Data Access transactions, DAO support, JDBC, ORM, Marshalling XML
- Spring MVC and Spring WebFlux web frameworks
- Integration remoting, JMS, JCA, JMX, email, tasks, scheduling, cache
- Languages Kotlin, Groovy, dynamic languages
Tutorial
Spring Boot
Spring Boot는 개발자가 단순히 "실행"하기만 하면 되게끔 도와주는 Spring 기반의 stand-alone, production-grade 애플리케이션을 만들 수 있게 해줍니다.
Kotlin + Spring
- .kt Kotlin source code file 👉🏻 컴파일러(kotlinc)에 의해 컴파일되어야 하는 소스 코드 파일
- .kts Kotlin script file 👉🏻 bash, python처럼 바로 실행될 스크립트 파일
빌드 도구 설정 build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.6.4"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.6.10"
kotlin("plugin.spring") version "1.6.10"
kotlin("plugin.jpa") version "1.6.10"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_17
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-mustache")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
developmentOnly("org.springframework.boot:spring-boot-devtools")
runtimeOnly("com.h2database:h2")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "17"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
plugin
Kotlin 프로젝트에서 사용할 플러그인과 버전을 명시한 레이블입니다. 예제에서는 비교적 최신 버전의 프레임워크를 사용했습니다.
plugins {
// spring boot를 사용하기 위한 플러그인
id("org.springframework.boot") version "2.6.4"
// spring 관련 dependency 버전 관리를 일괄적으로 해주는 플러그인
id("io.spring.dependency-management") version "1.0.11.RELEASE"
// kotlin(<...>)는 id("org.jetbrains.kotlin.<...>")와 동일!
// 타겟 플랫폼: jvm
kotlin("jvm") version "1.6.10"
// spring boot를 사용
kotlin("plugin.spring") version "1.6.10"
// JPA (Java Persistence API)
// Java 진영에서의 ORM 기술 표준으로 사용되는 인터페이스 모음
kotlin("plugin.jpa") version "1.6.10"
}
dependencies
dependencies {
// spring boot JPA 이용
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
// mustache(코드 템플릿 엔진, MVC 구현)
implementation("org.springframework.boot:spring-boot-starter-mustache")
// Reflection (runtime에서 프로그램의 구조(객체, 함수, 프로퍼티)를 분석)
implementation("org.jetbrains.kotlin:kotlin-reflect")
// Kotlin 필수 기능 제공 (let, apply, use, syncronized, ...)
// 문자열, IO 관련 함수 등
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
// 여러 개발 툴 제공
developmentOnly("org.springframework.boot:spring-boot-devtools")
runtimeOnly("com.h2database:h2")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
- Property Defaults
- Automatic Restart
- Live Reload
- Global Settings
- Remote Applications
main 함수 실행
/src/main/kotlin/com.example.{패키지명}/KotlinTestApplication.kt
IntelliJ를 이용해 프로젝트를 시작했다면 위 경로에 코드가 자동으로 생성되어 있습니다!
package com.example.kotlin_test
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class KotlinTestApplication
fun main(args: Array<String>) {
runApplication<KotlinTestApplication>(*args)
}
정리
Kotlin + Spring Boot를 사용하기 위해서는 먼저 빌드 도구를 설정해야 하며, 이 포스트의 예시에서는 gradle을 사용했습니다. 빌드 도구에 plugins과 dependencies를 설정할 수 있습니다. 🐱
Author And Source
이 문제에 관하여(Kotlin + Spring Boot 기본 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@rhee519/kotlin-spring-boot-initialization
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Kotlin + Spring Boot를 사용하기 위해서는 먼저 빌드 도구를 설정해야 하며, 이 포스트의 예시에서는 gradle을 사용했습니다. 빌드 도구에 plugins과 dependencies를 설정할 수 있습니다. 🐱
Author And Source
이 문제에 관하여(Kotlin + Spring Boot 기본 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rhee519/kotlin-spring-boot-initialization저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)