Spring Bootとは? Spring BootでWebアプリ開発を始めるために必要な知識を紹介

コラムCOLUMN

Spring Bootとは? Spring BootでWebアプリ開発を始めるために必要な知識を紹介

2021/07/01

Webアプリケーションを開発する際、フレームワークを使用して開発する場合とそうでない場合で、開発日数に差が発生してしまいます。

この記事では、Spring Boot 2.5でHello Worldを表示するアプリケーションを作成するために必要な基礎機能を説明します。

Spring Frameworkとは

Spring Bootは、Spring Frameworkのうちの一つであるため、まずはSpring Frameworkについて簡単に説明していきます。

Spring Frameworkは、2004年3月にリリースされて以降、長い歴史のある人気のJavaプラットフォーム向けフレームワークです。

ちなみに、Spring(スプリング)と呼ばれることもあります。Spring Frameworkの特徴は、以下の通りです。

  • AOP「Aspect Orientation Programmingの略(日本語訳:アスペクト指向プログラミング)」システム内で共通する処理をアスペクトという単位で切り出して、まとめて管理できるため、テストを行った時にバグが発生している箇所の特定と修正を早く行うことが可能
  • ライブラリが豊富なため、さまざまなアプリケーション作成に柔軟に対応が可能
  • DI「Dependency Injectionの略(日本語訳:依存性の注入)」によって疎結合なシステムの設計ができるようになるため、プログラムの更新や追加を行ってもコストを最小限に抑えることが可能

Spring Bootとは

Spring BootはSpring Frameworkを基盤に持つフレームワークです。Spring Bootは基本的なXMLの設定を自動で生成してくれるという機能が特徴です。

Spring Frameworkのように複雑なXMLの設定を行う必要がないため、アプリケーションの作成をスピーディーに取り組むことができます。

とはいえ、自動生成は基本的なところを自動で行ってくれるだけのため、追加で設定したい場合は、ユーザー自らXML設定を行わなければいけません。

Spring FrameworkとSpring Bootの違いを確認

Spring Framework

  • アプリケーションの作成をする前にXML設定が必要
  • AOPで共通処理をまとめ、必要な時に呼び出せるようにプログラムを記述することでコードの量が減少するため、プログラムが複雑化することを防ぐ
  • DIによって疎結合なシステムとなり、開発にかかるコストを抑制

Spring Boot

  • 標準設定済みのため、Bean定義やログの設定をさわる必要がなくなり、アプリ作成をスピーディーに行うことが可能
  • Tomcatが組み込まれたjarの作成が可能なため、warを作成せずにプログラムの実行が可能

Spring Bootを使用する理由

Spring Bootが開発に使用される理由について、以下にまとめてみました。

  • Spring Initializrでアプリケーションの雛形を作成することが可能
  • tomcatがあらかじめ内蔵されているため、サーバーへデプロイする必要がない
  • XML設定をせずにプロジェクトの開始が可能
  • Spring Frameworkを使って簡単にアプリケーション開発が可能
  • アノテーションの記述とDIコンテナでコンポーネント管理するため、疎結合なアプリケーションの設計が可能
  • Spring MVC Testという専用のテストプログラムで結合テストが可能

Spring Bootを使用することで、コストを抑えつつ、柔軟に開発を行うことができます。

開発環境を構築する

JDK11(Java Development Kit)をインストールする

STSを起動するためにはJavaが必要になるため、Springの公式サイトでも推奨されているAdoptOpenJDKをインストールします。今回はWindows版をインストールしますが、Mac版でも基本的には同じ手順です。

1. 「AdoptOpenJDK」のダウンロードサイトにアクセスします。

2. バージョンは「OpenJDK 11」を選択し、「Latest release」ボタンをクリックします。

バージョンは「OpenJDK 11」を選択し、「Latest release」ボタンをクリックします。

3. ダウンロードが終わったら、ファイルを起動して「次へ」ボタンをクリックします。

ダウンロードが終わったら、ファイルを起動して「次へ」ボタンをクリックします

4. 同意欄にチェックを入れて「次へ」ボタンをクリックします。

同意欄にチェックを入れて「次へ」ボタンをクリックします

5. 「Set JAVA_HOME variable」のリストから「ローカルハードドライブにインストール」を選択して「次へ」ボタンをクリックします。

「Set JAVA_HOME variable」のリストから「ローカルハードドライブにインストール」を選択して「次へ」ボタンをクリックします

6. インストールボタンをクリックします。

インストールボタンをクリックします

7. ユーザーアカウントの制御が表示されたら、「はい」ボタンをクリックし、「完了」ボタンをクリックします。

ユーザーアカウントの制御が表示されたら、「はい」ボタンをクリックし、「完了」ボタンをクリックします

Spring Tool Suits 4(STS)をインストールする

Spring Tool Suits 4(STS)をインストールする

Springの公式サイトからダウンロードできます。

1. 今回は4.10.0-Windows 64bit版をインストールしていきます。

Chromeでexeファイルをダウンロードした場合、画面下に警告が表示されますが、「保存」をクリックするとファイルを保存できます。

2. ダウンロードしたjarファイルをダブルクリックして解凍をします。

ダウンロードしたjarファイルをダブルクリックして解凍をします

3. 解凍したファイルは、今回Cドライブの直下に配置します。

解凍したファイルは、今回Cドライブの直下に配置します

Spring Tool Suits 4(STS)を日本語化する方法には?

1. 「MergeDoc Project」のサイトにアクセスし、「Pleiades プラグイン・ダウンロード」をクリックします。

「MergeDoc Project」のサイトにアクセスし、「Pleiades プラグイン・ダウンロード」をクリックします

2. 画面中央にあるURLのリンクをクリックし、ファイルをダウンロードします。

画面中央にあるURLのリンクをクリックし、ファイルをダウンロードします

3. ダウンロードしたファイルを右クリックし、「すべて展開」をクリックします。

4. ファイルの中に「setup.exe」ファイルがあるので、ダブルクリックして起動します。

5. セットアップ画面が表示されたら、「選択」をクリックし、STSのフォルダーにある「Spring Tool Suite4(.exe)」をクリックした後に「開く」ボタンをクリックします。

6. 「Pleiades 日本語化プラグインのセットアップ画面」の「日本語化する」ボタンをクリックすると日本語化が完了します。

Web Developer Toolsをインストールする

STS 4.10からHTMLやCSSを使用する場合は、「Web Developer Tools」のインストールをする必要があります。

Spring BootでThymeleafを使ってhello worldを表示させる方法には?

Thymeleafとは

Thymeleafは、Spring Bootで推奨されているHTMLのテンプレートエンジンです。ちなみに、Thymeleafを利用するには、「xmlns:th=”http://www.thymeleaf.org”」を<html>タグに付けなければいけません。

Spring Boot アプリケーションを作成する

1. STS4を起動してメニューから「ファイル」>「新規」>「その他」>「Spring Boot」 >「Spring スターター・プロジェクト」の順番でクリックしていきます。

2. 「Spring スターター・プロジェクト」の画面では以下の値を入力して「次へ」ボタンをクリックします。

今回は、名前に「helloworld」を入力します。

  • 名前:helloworld
  • Javaバージョン:11

※成果物の欄は、名前を入力した際に自動的に更新が反映されます。

Spring Boot アプリケーションを作成する

3. 「新規 Spring スターター・プロジェクト依存関係」画面では、「選択済み」に表示されている項目を左側の一覧から選択し、「完了」ボタンをクリックします。

「新規 Spring スターター・プロジェクト依存関係」画面では、「選択済み」に表示されている項目を左側の一覧から選択し、「完了」ボタンをクリックします

4. インポートが始まるため、完了するまで待ちます。

5. 完了すると、パッケージエクスプローラーに以下のファイルが表示されます。

  • helloworldApplication.java
  • application.properties

コントローラーを作成する

パッケージエクスプローラーの「com.example.demo」を右クリック>「新規」>「クラス」の順番でクリックすると、「新規Javaクラス」の画面が表示されます。パッケージ欄と名前欄に以下の値を入力して下さい。

  • パッケージ:com.example.demo.controller
  • 名前:HelloController

※Spring Bootプロジェクトを作成すると、「プロジェクト名 + Appliarion.java」というmainメソッドを持ったクラスファイルが自動で作成されます。

Thymeleafテンプレートを作成する

1. 「hello.html」を新規作成し、画面を作成します。

「hello.html」を新規作成し、画面を作成します

2. 「HelloController.java」を新規作成し、コントローラーを作成します。

「HelloController.java」を新規作成し、コントローラーを作成します

Spring Bootアプリを起動してhello worldを表示する

1. プロジェクトを右クリック>「実行」>「Spring Boot アプリケーション」の順番でクリックすることで、Spring Bootが起動します。

プロジェクトを右クリック>「実行」>「Spring Boot アプリケーション」の順番でクリックすることで、Spring Bootが起動します

2. http://localhost:8080/helloにアクセスします。

ブラウザのアドレスバーに「http://localhost:8080/hello」を入力してください。

http://localhost:8080/helloにアクセスします

Spring Boot Actuatorで監視機能を追加する方法には?

Actuatorとは

Actuatorとは、基本的に運用と監視を行うための機能のことを指します。また、pom.xmlにコードを追記するだけで、マッピングやヘルスチェックなどの機能を利用できます。

Actuatorを導入する方法

Actuatorを導入するために推奨されてる方法は、Mavenベースのプロジェクトのpom.xmlに以下の「スターター」への依存関係を追加することです。

まとめ

今回はSpring Bootで簡単なWebアプリケーションを作成するために必要な知識を紹介しました。

Spring BootやSpring Frameworkなどの複数のフレームワークを扱える人材は、開発現場で重宝されるため、フリーランスとして独立して時間や場所を選ばない働き方を手に入れることはそれほど難しくありません。

ただし、フリーランスエンジニアになると、自らで案件を探さなければいけません。案件探しの際にこれらのリスクに対応するための手段としておすすめすることなのは、好条件の案件を紹介しているエージェントに登録しておくことです。

フリーランスITエンジニア専門エージェントの「i-common tech」では、収入アップが見込める高単価案件も多く紹介しています。

また、希望する案件を獲得できるようにサポートしてくれる他にも、面談前後でのフォロー、条件面や契約延長の交渉を代理で行うなどのサポートが充実しています。

当サービスは無料で登録することができるため、フリーランスとして独立を考えている人は一度登録してみてください。