Spring Boot をはじめてみるよ
Spring でアプリケーションを作るには、今だったら Spring Boot を使うのがいいでしょうかね。
それでは、 Java アプリ開発はしたことあるけど Spring Boot は触ったことないよ、といった人向けに、最初にすることとして、以下の内容を説明していきます。
- Spring Boot を使うための環境作り
- 簡単な Web アプリを作って稼働確認
- 実行可能な配布用モジュールを作る
本格的にプログラミングを開始をする前の Step を書いています。 アプリのソースはどういう風に書くか、は、またの機会に、ですね。
Spring Boot について
Spring はサブプロジェクトが多すぎる! 何を組み合わせればいいか分からないよ。。。 という問題にこんな感じで対応したものが Spring Boot です。
- オススメの組み合わせを用意したよ!
- 組み込みサーバーも入れておくのですぐ動かせるよ! APサーバーとか建てなくてもいいよ!
下準備
STS の導入
公式サイトからダウンロードします。
https://spring.io/tools/stsspring.io
ダウンロード後に解凍し、任意の場所に格納して、「STS.exe」を起動すればOKです。 それだけ! Mac なら解凍してできたフォルダごとアプリケーションフォルダに入れておけばいいでしょう。
Spring Boot プロジェクト作成
スタータープロジェクトという名のスケルトンを作る
STS にはスケルトンを作成する機能が用意されています。 「Spring Starter Project」という名前で呼ばれています。 メニューから作成しましょう。
[File] > [New] > [Spring Starter Project]
次に、設定を入力していきます。基本事項を入力して「Next」をクリック。
ここでは「Maven」に「Jar」を選んでいます。好みのものを選択すればOKですが、この文章では「Maven」と「Jar」を前提にお話を進めます。
その他、主要な入力内容は以下のとおりです。
項目 | 意味 |
---|---|
Name | プロジェクト名。 |
Group | プロジェクトを一意に識別する名前。 |
Artifact | プロジェクトの成果物の名前。作成する JAR や WAR ファイルなどの名前に使用されます。 |
Version | プロジェクトのバージョン。 |
Package | プロジェクトのルートパッケージ名に使われます。Group と同じにするのが一般的です。 |
次に、利用する機能を選択します。今回は「Web」だけをチェックして「Finish」をクリック。
これでプロジェクトが出来上がります。
利用ライブラリの確認
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]
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]
target
フォルダに jar ファイルが作成されます。実行直後は作成されたことが STS に反映されないので、確認できないときは、プロジェクトを右クリックして Refresh を選択しましょう。
起動は jar を実行するだけです。ターミナル.app や cmd.exe から以下のコマンドを打つと、 Tomcat が立ち上がります。
$ java -jar target/my_first_spirng_boot_sts-0.0.1-SNAPSHOT.jar
おわりに
以上です。
割りと簡単でしたね。 これはこれでいいんですけども、 GUI でプロジェクトを作ってしまうと、何がどう設定されたのか分からないですよね。 今後、変更やトラブルに対応できなくなってしまうと思います。 いや、ホント、勝手に何がどうなっちゃったんだか、気になります!
ということで、引き続いて GUI を使わずに利用したお話をしようと思います。 あ、その前に Gradle のお話を簡単にしてみようと思います。
※Gradle のお話はこちら。
※GUI を使わずにプロジェクトを作成したお話はこちら。