Spring Bootのチュートリアルをやる

長年Javaのプロジェクトに関わりながらSpringを使った経験が無かったため求職期間中にSpring Bootを触ってみることにした。

今回試すチュートリアル

spring.io

動作確認を行った環境

Amazon Linuxで動作確認を行った(Cloud9環境で開発しているため)

チュートリアルを試す上で行ったこと

Open JDK10のインストール

当初Open JDK9で試したもののSSL証明書が古い?バグがあるらしく、gradle buildで Mavenリポジトリにアクセスすると下記の接続エラーが発生した。

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

面倒なので、最新の安定版のOpen JDK10をインストールすることにした。

Amazon LinuxへのJDKのインストールはカンタンで、Open JDKのサイトからLinux用バイナリを取得して展開する。
その後、環境変数のPATHとJAVA_HOMEを設定して終わり。
(お勉強環境なのでホームディレクトリにそのまま配置しました)

bashで実行

wget https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz
tar -zxvf openjdk-10.0.2_linux-x64_bin.tar.gz

.bash_profileに下記を追加

export JAVA_HOME="$HOME/jdk-10.0.2/"
export PATH="$HOME/jdk-10.0.2/bin:$PATH"

Gradleのインストール

今回はビルドツールにGradleを利用することにした。
最新版のGradle4.9をインストールする手順はJDKの手順とほぼ同じ。

bashで実行

wget https://services.gradle.org/distributions/gradle-4.9-all.zip
unzip gradle-4.9-all.zip

.bash_profileに下記を追加

export PATH="$HOME/gradle-4.9/bin:$PATH"

build.gradleの変更

チュートリアルのbuild.gradleは若干古い&今回インストールを行ったJavaバージョンの関係でbuild.gradleの一部を修正。
なお、SpringはJava10に正式に対応している模様。

build.gradle(一部)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.4.RELEASE")
    }
}

sourceCompatibility = 10
targetCompatibility = 10

gradle build

あとは、チュートリアル通りにプロジェクトを作成してgradle build && java -jar build/libs/gs-spring-boot-0.1.0.jarするだけでテストサーバが立ち上がるのでlocalhost:8080にアクセスをして動作確認をするだけ。かんたんですね!

所感

実際にチュートリアルを試してみて思っていた以上にカンタンで驚きました。
Spring Bootのサイトを見るとガイドも豊富そうなのでじっくり読んでみたいと思います。
https://spring.io/guides