ただ日々を記すもの

意識高めを装うことができます

【爆速】kotlin、Springboot、Gradleでプロジェクト作成!

はじめに

最近kotlinでプロジェクトを作成し、その際に案外簡単にプロジェクト作成できたのでこちらでそのときの作り方を紹介します。

プロジェクトを作る

SPRING INITIALIZRでプロジェクト作成

もっとも簡単にプロジェクトを作成するために使えるのがこれ。
SPRING INITIALIZRです。 ほんとチャチャッとよろしくしてくれます!

https://start.spring.io/

サイトのトップビュー↓
f:id:RONKUN:20170804202959p:plain

ここに Gradle Project 、 言語に Kotlin を指定します。
Spring Bootのバージョンと、Project Metadata は任意に設定してください。

次に Dependencies にお好みの項目を選択しちゃってください。
(自分は、とりあえず Web を選択。ま、ここはあとで追加できるので気軽に)

最後に Generate Project を押下すればProjectがzipファイルでダウンロードできます!

IntelliJでインポートからローカルサーバー起動

1. ダウンロードしたzipファイルを解凍

2. IntelliJを開き、 Open を押し、解凍したプロジェクトを選択

f:id:RONKUN:20170804203754p:plain

3. 次に表示されるViewで OK を選択

f:id:RONKUN:20170804204039p:plain

4. build.gradle を編集

IntelliJで開発するために、以下ファイルの1.と2.を追加しましょう

buildscript {
    ext {
        kotlinVersion = '1.1.3-2'
        springBootVersion = '1.5.6.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
        classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}")
    }
}

apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'eclipse'
// 1. 追加
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'

version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:${kotlinVersion}")
    compile("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

// 2. 追加
idea {
    module {
        inheritOutputDirs = false
        outputDir = file("$buildDir/classes/main/")
    }
}

5. ./gradlew idea を実行

ターミナルにて、階層はプロジェクト直下で実行しましょう

6. サンプルファイル作成

src > main > kotlin > 【Project Metadataで設定したパッケージ】 配下に新規でkotlinのファイルを作成します。

内容はとりあえずこんな感じ

package 【Project Metadataで設定したパッケージ】
 
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RestController

@RestController
class GreetingController {

    @GetMapping("/hello/{name}")
    fun get(@PathVariable name: String) = "Hello, $name"

}

7. ./gradlew bootRun でローカルサーバー起動

これで、http://localhost:8080/hello/world にアクセス以下のように Hello World と画面に表示されれば完成です!

f:id:RONKUN:20170804205417p:plain

さいごに

今回は、とりあえずプロジェクトを作成するまでを紹介しました。

ミニマムで開発したいとか、最初に色々つまづきたくない場合は非常に便利だと思います!