Spring Boot 入門


こんにちは、鈴木です。

Spring Boot を使ってみたので、ご紹介します。

 

関連プロダクトが多すぎて把握しきれない!

ってことありませんか?

きちんとモジュール分割されたフレームワークは、コアとなる機能(Spring Framework)があり、関連するプロダクト(Spring Security とか Spring Data とか)が山盛りという構成になります。

このように分割されていると、取捨選択して必要な機能だけ利用することができるので、使う側にとって大きなメリットになります(巨大な一枚岩のフレームワークだとそうはいきませんね)。一方で慣れるまでは「どれを選べば良いの!?」となりがちですね。

Spring Boot は「関連プロダクトが多すぎて大変だ」という問題を解消してくれます。

 

Spring Boot とは

Spring Boot のサイトには「スタンドアロンで production-grade な Spring ベースのアプリケーションを簡単に作ることができる」と書かれており、以下の特徴が挙げられています。

  • スタンドアロンな Spring アプリケーションを作ることができる。
  • Tomcat や Jetty を直接組み込むので war ファイルのデプロイが不要。
  • Maven の設定をシンプルにする 'starter' POM を提供してくれる。
  • Spring を自動設定してくれる(できる限り)。
  • 本番用の機能(メトリクス、ヘルスチェック、設定の外部化など)を提供してくれる。
  • コード生成や XML の設定が不要。

なかなか良さそうな雰囲気の言葉が並んでいますね。

「優れたフレームワークは30分以内で Hello World できる」と言われることもありますが、実際に Spring Boot を使ってみたところ、30 分かからずに Hello World することができました。

 

Spring Boot を使う

それでは Spring Boot を使ってみましょう。

 

Maven でプロジェクトを作成する

まずは Maven でプロジェクトを作成します。

 

 pom.xml に Spring Boot を追加する

次に pom.xml に Spring Boot を追加します。コメントで「<!-- 追加: ここから -->」「<!-- 追加: ここまで -->」と書かれた範囲を追加しました。

 

Controller を作る

次に Controller として src/main/java/com/techscore/spring_boot_sample/HelloController.java を作ります。

 

実行する

それでは実行してみましょう。

しばらくすると以下のようなログが出力されます。

ブラウザで http://localhost:8080/ にアクセスすると、「Hello, Spring Boot!」と表示されるはずです。

面倒な XML ファイルなどを書くことなく Web アプリケーションとして起動することができました。

これで Spring Boot での Hello World は終わりです。

 

 実行可能な jar ファイルを作る

先ほどは「mvn spring-boot:run」でアプリケーションを実行しましたが、spring-boot-maven-plugin を導入すると単独で実行可能な jar ファイルを作成することができます。スタンドアロンで動作する jar ファイルが作成できるということです。

 

pom.xml を編集する

追加する部分だけを記載しました。

ちなみに <mainClass> はアプリケーション内に main メソッドを持つクラスが 1 つだけの場合は省略することができます。

 

実行する

先ほどは「mvn spring-boot:run」で実行しましたが、今度は java コマンドで実行します。

先ほどと同じように以下のようなログが出力されるので、http://localhost:8080/ にアクセスしてみてください。

 

設定をデフォルトから変更する

Spring Boot はデフォルトで諸々の設定をしてくれるので楽なのですが、デフォルトから変更する方法も準備されています。

application.properties または application.yml というファイルを作成し、その中に設定を記述すれば OK です(Maven のプロジェクトでは src/main/resources/ 以下にファイルを作成します)。

例えばリクエスを受け付けるポートを 7777 に変更したい場合は application.yml というファイルを作成し、以下の内容を記載します。

他にも設定可能な項目は多くあり、以下のページにまとめられていました。

 

まとめ

Spring Boot を試してみましたが、下準備がほとんど無く、実際にものが動くまでにかかる時間が短いところが好感触でした。

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です