水無瀬のプログラミング日記

プログラムの勉強した時のメモ

IntelliJ+Gradle+Springbootセットアップ

はじめに

久しぶりにJavaを触りたくなったので、セットアップするまでの備忘録。
せっかく?なのでIntelliJ + Gradle + Spring bootで作ってみる。

前準備

IntelliJ

公式サイト からダウンロード可。 有料版のUltimateがあるけど、今回はCommunityの方をインストール。

プロジェクト作成

Spring Initializrを使ってテンプレを作成する。
特別変えたところは、Gradle ProjectとDependenciesにはWebを選択肢といた。
ちなみにSpringのバージョンは2.2.1にした。

f:id:minase_mira:20190206234644p:plain

プログラム作成

プロジェクトインポート

上記で作ったプロジェクトをインポートする。
IntelliJを起動し、Import Projectで読み込む。

build.gradle

多分デフォルトだとJava8が対象だと思うので、Java11に対応するように少しbuild.gradleを書き換える。

buildscript {
    ext {
        springBootVersion = '2.1.2.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'idea'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
[compileJava, compileTestJava]*.options*.encoding = "UTF-8"

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Java変更

デフォルトでも動くは動くが何も返ってこないはずなので、せめてメッセージが帰ってくるようにする。
ExampleApplication.java(名前は多少違うかも)と同じフォルダにHelloControler.javaを作成する。

package com.example.example;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloController {

    @RequestMapping("/")
    public String hello() {
        return "Hello World!";
    }

}

ビルド & 実行

IntelliJの場合、左下のメニューからGradleを選択。
右側にGradleのメニューが出てくるので、リフレッシュ後「Tasks > application > bootRun」を実行。
エラーにならず起動できればOK。

ちゃんと動いてることを確認するために適当にリクエストを飛ばす。
下記の通り返ってくれば終了。

$ curl localhost:8080/
> Hello World!

まとめ

とりあえずメッセージが返ってくるところまで作った。
次はDocker環境で試したり、API増やしたり、HTML返したりできるようにしたいところ。
それでは今回はこの辺で。

おまけ

JavaとかGradleとか大昔に入れてたから、どこまで必要かわからないけどとりあえずインストールメモ

# とりあえずアップデート
$ brew update
# Javaインストール(OpenJDKのv11がインストールされる)
$ brew cask install java
# Gradleインストール
$ brew install gradle
# インストール確認
$ java -version
$ gradle -v

参考資料