IntelliJ
spring-boot

Spring Boot + Intellij Ideaの環境セットアップ(備忘録)

はじめに

Spring BootでRESTful APIを作ることになりそうなので、開発環境などのセットアップ手順を確認してみました。
最初はSTSを利用しようかと思いましたが、springのガイドに目を通していたらIntelliJ IDEAの手順も紹介されていたので方針変更しました。(Android Studioを利用する機会もあるので、脱Eclipseでいこうかと)

  • maxOS Sierra(10.12.6)
  • IntelliJ IDEA Community 2017.2.6

事前準備

JDK(Java SE Development Kit 8u152)のインストールを行いました。

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_152, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

その上でIntelliJ IDEAを起動して、SDKの指定を行います。
Welcome画面でConfigure > Project Defaults > Project Structureを選択し、

Project SDKを指定します。

なお、Gradle自体はインストールしないでも以下手順は実行可能です。

ガイドに従って手順確認

以下を参考にしました。
サンプルが提供されていますので、それを動かすところまでを確認します。

https://spring.io/guides/gs/rest-service/

サンプルをclone

$ git clone https://github.com/spring-guides/gs-rest-service.git

complete配下に実行可能なプログラムコード(src配下)が用意されているので、こちらを利用します。
(コード作成の手順も踏むならinitial配下を利用します。)

$ cd complete
$ ls -1a
./
../
.mvn/
build.gradle
gradle/
gradlew*
gradlew.bat
manifest.yml
mvnw*
mvnw.cmd*
pom.xml
src/

IntelliJ IDEAでインポート

以下を参考にしてインポートを行います。

https://spring.io/guides/gs/intellij-idea/

Welcome画面でImport Projectを選択します。
そして、complete配下のbuild.gradleを選択すると、以下のような画面に遷移します。

そのままの状態でOKボタンを押せばインポート完了です。
.ideaディレクトリが作成されています。

$ ls -1a
./
../
.mvn/
.idea/
build.gradle
gradle/
gradlew*
gradlew.bat
manifest.yml
mvnw*
mvnw.cmd*
pom.xml
src/

サンプル起動

前述の通り実行可能なプログラムコードが含まれていますので、これを実行してみます。
Applicationクラスを選択して実行(⌃+⌥+R)します。

Tomcatが起動したら、

http://localhost:8080/greeting

に接続して、

{"id":1,"content":"Hello, World!"}

が返されたら目標達成です。

新規プロジェクト作成

せっかくなので、新規にプロジェクトを作成していく手順も確認してみました。

Gradleを選択して、

ArtifactIdは任意、

ここのステップはデフォルトのまま変更しないでプロジェクト作成します。

build.gradleを以下のように書き換えて、
こちらから引用

build.gradle
plugins {
    id 'org.springframework.boot' version '1.5.9.RELEASE'
    id 'java'
}


jar {
    baseName = 'rest-sample'
    version =  '0.0.1-SNAPSHOT'
}

repositories {
    jcenter()
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

プログラムコードは、前述のサンプルからコピーしました。
後はサンプルを同様の手順で起動すればOKです。

なお、gradle-wrapper.propertiesを確認したところ、

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-rc-2-bin.zip

となっていました。
最新版というわけではないようです。
Current Release (v4.3.1)に更新してみます。

以下のように書き換えて、

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip

以下のコマンドを実行すれば、

$ ./gradlew wrapper

Gradleのバージョンを置き換えられます。

$ ./gradlew -v

------------------------------------------------------------
Gradle 4.3.1
------------------------------------------------------------