Kotlin
KotlinDay 23

KotlinとSpring Boot

More than 1 year has passed since last update.

この記事はKotlin Advent Calendar 2016の23日目の記事です

が、12月23日に書き始めました……果たして間に合うんでしょうか?……


はじめに

Spring BootはJavaでさくっとWebアプリが作れるフレームワークです

もちろんKotlinでも使えますし、公式のページに記事があるので安心です


始め方

Spring InitializrというWeb上でポチポチとボタンを押せば勝手にSpring Bootのプロジェクトファイルを作ってくれるサービスがあるので、これを使うのが一番ラクです

言語の設定はfull versionにする必要があるので、ページ下部のSwitch to the full version.のリンクをクリックすれば項目が出てきます

Switch to the full version.PNG

あとは、LanguageでKotlinを選べばOKです

lang.PNG

あとは各種項目を好きに埋めて、Generate Projectボタンを押して完成です

プロジェクトファイルをzipファイルでダウンロードできます

試しにGradleで作ってみました。設定を確認するとさり気なくKotlinのVerが最新版です。嬉しい

version確認.PNG

あとは好き勝手にKotlinで書いていけばOKです


生成されたコードを読む

Spring BootではSpringBootApplicationアノテーションをつけたクラスを1つ作る必要があるのですが、それもSpring Initializrが自動で生成してくれます

import org.springframework.boot.SpringApplication

import org.springframework.boot.autoconfigure.SpringBootApplication

@SpringBootApplication
open class DemoApplication

fun main(args: Array<String>) {
SpringApplication.run(DemoApplication::class.java, *args)
}

Spring BootはJavaで使われることを想定しているので、当然といえば当然ですがclassを渡すときはHogeClass::class.javaみたいな書き方をする必要があります

テストコードのサンプルも自動生成されます。初心者に優しい

import org.junit.Test

import org.junit.runner.RunWith
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.junit4.SpringRunner

@RunWith(SpringRunner::class)
@SpringBootTest
class DemoApplicationTests {

@Test
fun contextLoads() {
}

}


おわりに

KotlinとSpring BootというかSpring Initializr便利だよね!という話になりました

実際、KotlinとSpring Bootの組み合わせは某社の案件とかでも使っていますが、開発のしやすさとKotlinが入門しやすいのもあって重宝しています

また、AWS Lambdaと組み合わせて、Kotlinで共通ライブラリを作り、そのライブラリをSpring BootとAWS Lambdaから呼び出して使うみたいなこともしています

WebでもKotlin楽しい。そして、かわいい……今後も使っていきたいですね