Kotlin, Spring でアプリケーションを作ります。 Spring は昔から洗練されてきた Java のフレームワークで、大抵のことはできるようになっています。
今回、 Kotlin と組み合わせるにあたり、 View Template に kotlinx.html を使います。 (Thymeleaf も利用可能です。) kotlinx.html ではすべてを Kotlin の文法で書けるのがいいところです。 プロジェクト構成は Gradle で管理します。エディタは Intellij IDEA Community Edition を使います。
開発環境
- Gradle 4.3.1 (記事中で 4.4 RC 1 にアップグレードします)
- Kotlin 1.1.61
- kotlinx.html 0.6.6
- Spring Boot 1.5.8
- PostgreSQL 9.5.6
- Intellij IDEA 2017.2.6 (Community Edition)
- OpenJDK 1.8
アプリケーションの土台を作る
Intellij IDEA のウィザードを使ってプロジェクトを作ります。 ファイルメニューから 新しいプロジェクトを作成します。 New Project ダイアログ の左ペインから Gradle を選択し、 Kotlin (Java) にチェックを入れて Next をクリックします。
GroupId, ArtifactId は それぞれ com.example, myapp にします。
この時点で build.gradle
は次のようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
group 'com.example' version '1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.1.61' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'kotlin' repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" } compileKotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } |
build.gradle
の dependencies
に compile("org.springframework.boot:spring-boot-starter-web:1.5.8.RELEASE")
を追加します。
Spring Boot のメインメソッドを作ります。
1 2 3 4 5 |
src - main - kotlin - com.example.myapp - Application.kt |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package com.example.myapp import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.web.support.SpringBootServletInitializer @SpringBootApplication open class Application: SpringBootServletInitializer() { companion object { @JvmStatic fun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args) } } } |
これでサーバは起動します。
Kotlin 1.1.61 + Spring で Web Application を作る (2 of 4) に続きます。