Spring Boot をはじめてみるよ

Spring でアプリケーションを作るには、今だったら Spring Boot を使うのがいいでしょうかね。

それでは、 Java アプリ開発はしたことあるけど Spring Boot は触ったことないよ、といった人向けに、最初にすることとして、以下の内容を説明していきます。

  • Spring Boot を使うための環境作り
  • 簡単な Web アプリを作って稼働確認
  • 実行可能な配布用モジュールを作る

本格的にプログラミングを開始をする前の Step を書いています。 アプリのソースはどういう風に書くか、は、またの機会に、ですね。

Spring Boot について

Spring はサブプロジェクトが多すぎる! 何を組み合わせればいいか分からないよ。。。 という問題にこんな感じで対応したものが Spring Boot です。

  • オススメの組み合わせを用意したよ!
  • 組み込みサーバーも入れておくのですぐ動かせるよ! APサーバーとか建てなくてもいいよ!

下準備

STS の導入

公式サイトからダウンロードします。

spring.io

ダウンロード後に解凍し、任意の場所に格納して、「STS.exe」を起動すればOKです。 それだけ! Mac なら解凍してできたフォルダごとアプリケーションフォルダに入れておけばいいでしょう。

Spring Boot プロジェクト作成

スタータープロジェクトという名のスケルトンを作る

STS にはスケルトンを作成する機能が用意されています。 「Spring Starter Project」という名前で呼ばれています。 メニューから作成しましょう。

[File] > [New] > [Spring Starter Project]

f:id:hiranoon:20151230031320p:plain

次に、設定を入力していきます。基本事項を入力して「Next」をクリック。

f:id:hiranoon:20151230031346p:plain

ここでは「Maven」に「Jar」を選んでいます。好みのものを選択すればOKですが、この文章では「Maven」と「Jar」を前提にお話を進めます。

その他、主要な入力内容は以下のとおりです。

項目 意味
Name プロジェクト名。
Group プロジェクトを一意に識別する名前。
Artifact プロジェクトの成果物の名前。作成する JAR や WAR ファイルなどの名前に使用されます。
Version プロジェクトのバージョン。
Package プロジェクトのルートパッケージ名に使われます。Group と同じにするのが一般的です。

次に、利用する機能を選択します。今回は「Web」だけをチェックして「Finish」をクリック。

f:id:hiranoon:20151230031418p:plain

これでプロジェクトが出来上がります。

利用ライブラリの確認

Spring Boot に「お任せでいい感じのライブラリを入れといて!」という指示をしました。 実際にどのようなライブラリが使われるのか、確認してみましょう。

Package Explorer から、「Maven Dependencies」を開いてみましょう。 Spring に関連するライブラリの他に、 Tomcat も同梱されていることが分かります。

簡単な Web アプリで 「Hello Spring Boot!」

今回、「web」を選択したので、何かしらの「モノ」がブラウザで表示できることを確かめましょう。

簡単な Web アプリの作成

すでに MyFirstSpirngBootStsApplication.java が作成されています。 これは、 Spring のエントリーポイントとなるクラスです。

このクラスとは別に、ブラウザに簡単た文字表示するアプリを作ってみましょう。同一パッケージに置いて大丈夫です。

@RestController // Webアプリのリクエストを受け付けるクラスであることの指定
public class IndexController {
  @RequestMapping("/") // URLのパスの指定
    public String index() {
        return "Hello Spring Boot by STS!";
    }
}

はい、こんだけです。

アプリケーションの起動

STS で Spring Boot を起動します。裏で Tomcat が起動することになります。

プロジェクトを右クリックし、「Spring Boot App」の実行を選択します。

[Run As] > [Spring Boot App]

f:id:hiranoon:20151230031436p:plain

http://localhost:8080/ にアクセスして「Hello Spring Boot by STS!」と表示されればOKです。

ちなみに、エントリーポイントとなる MyFirstSpirngBootStsApplication.java を右クリックし、[Run As] > [Spring Boot App] でも、[Run As] > [Java Application] でも、同じように動きます。

実行可能な jar を作って配布

さて、 Spring Boot では今までのよくある Java の Web アプリケーションと異なる部分があります。 実行モジュールが、 Tomcat も含めた jar ファイルとして提供されるのです。

  • 今までのよくあるパターン : Tomcat をインストールして、アプリケーションを war ファイルに固めてデプロイをする
  • Spring Boot の新しいパターン : Tomcat も含めた jar ファイルを作って、そのまま実行してもらう。

ちょっと独特じゃないですか? このアタリに Spring Boot の姿勢というか、なんというかが感じられますね。

jar の作成と実行

プロジェクトを右クリックし、「Maven Install」を選択します。

[Run As] > [Maven Install]

f:id:hiranoon:20151230031448p:plain

target フォルダに jar ファイルが作成されます。実行直後は作成されたことが STS に反映されないので、確認できないときは、プロジェクトを右クリックして Refresh を選択しましょう。

f:id:hiranoon:20151230031459p:plain

起動は jar を実行するだけです。ターミナル.app や cmd.exe から以下のコマンドを打つと、 Tomcat が立ち上がります。

$ java -jar target/my_first_spirng_boot_sts-0.0.1-SNAPSHOT.jar

おわりに

以上です。

割りと簡単でしたね。 これはこれでいいんですけども、 GUI でプロジェクトを作ってしまうと、何がどう設定されたのか分からないですよね。 今後、変更やトラブルに対応できなくなってしまうと思います。 いや、ホント、勝手に何がどうなっちゃったんだか、気になります!

ということで、引き続いて GUI を使わずに利用したお話をしようと思います。 あ、その前に Gradle のお話を簡単にしてみようと思います。

※Gradle のお話はこちら。

hiranoon.hatenablog.com

GUI を使わずにプロジェクトを作成したお話はこちら。

hiranoon.hatenablog.com