Windows10上でSpring Boot開発環境を構築する

Windows10上でSpring Boot開発環境を構築するアイキャッチプログラム
スポンサーリンク

JavaのWebアプリケーション向けフレームワーク、Spring Bootの開発環境構築手順をまとめました。Windows10での構築方法です。

Macは持っていないので残念ながら記事にできません・・・。Zipファイルの解凍方法以外はあまり変更なく行けるとは思うのですが。

この記事を読めば、Spring Bootを使ってHello Worldをブラウザ上に表示させることができるようになります。

この記事で説明するPleiades All in One Eclipseを使った開発環境の構築は、多分一番楽な方法です。

画像も使ってなるべくわかりやすく説明していきます。

Pleiades All in One Eclipseをインストールする

Spring Bootの開発環境には、Eclipse+Spring Boot用のプラグイン、Spring Tools 4IntelliJ IDEAなど選択肢が色々あります。

今回はJDKやLombokのインストールが不要で日本語化もされているPleiades All in One Eclipseを使うことにしました。

7-Zipをインストールする

Pleiades All in One Eclipseをインストールするための下準備として、7-Zipというツールをインストールします。

Pleiades All in One EclipseはZipファイルを解凍するだけでインストールが完了します。しかし、長いパスを使っているところがあるらしく、Windows10標準の機能ではうまく解凍できないのです。

7-ZipのダウンロードページからWindows64ビット用の実行ファイルをダウンロードしましょう。

7-Zipダウンロードページ

後はダウンロードしたexeファイルを実行するだけです。インストール先のフォルダを指定するだけなので、難しいことはないでしょう。インストール先はデフォルトのままで問題ありません。

Pleiades All in One Eclipseをインストールする

続いてPleiades All in One Eclipse本体をインストールしましょう。

Pleiades All in One EclipseのダウンロードページからJava用のFull Editionをダウンロードします。最新版のページからWindows 64bitのJava開発用Full Editionを選択してください。Zipファイルがダウンロードされます。

Pleiades All in One Eclipse ダウンロードページ
Pleiades All in One Eclipse ダウンロードページ 2ページめ

ダウンロードしたZipファイルを解凍するだけでインストールは終了です。先程インストールした7-Zipを使って解凍するために、Zipファイルを右クリックして[7-Zip]→[ここに展開]を選んでください。

7-Zipで解凍

pleiadesというフォルダにPleiades All in One Eclipseが解凍されるので、好きなフォルダにコピーしましょう。この記事ではC:\直下にpleiadesフォルダを置く前提で説明していきます。

Pleiades All in One EclipseのEclipseを起動する

ファイルを解凍したらやるべきことはほとんどありません。Javaの開発に必要なJDKなどはすべてインストールと設定がされている状態です。多分Spring Bootの開発環境構築の中で最も楽でしょう。日本語への翻訳もさてていますし。

ただ、初回起動時だけ少し設定の必要があります。

Pleiades All in One Eclipseでは、pleiadesフォルダ内のeclipseフォルダにあるeclipse.exeを実行するとEclipseが起動します。

Eclipseを実行する

初回の起動には少し時間が必要です。準備が整うと、ワークスペースの場所を聞かれます。

ワークスペースは、今後作成するプロジェクト(Javaソフト開発の最小単位みたいなもの)を保存する場所です。こだわりが無ければ、デフォルトのまま[../workspace]で良いでしょう。この場合、pleiadesフォルダの直下にworkspaceフォルダが作られ、プロジェクトはそこに保存されます。

今後何回も質問されるのも面倒なので、「この選択をデフォルトとして使用し、今後この質問を表示しない」にもチェックを入れます。

初回起動時に表示されるワークスペース選択ウインド

これで無事にPleiades All in One Eclipseが起動できました。おめでとうございます。

Spring Boot開発の準備をする

Spring Bootでの開発を行うために、専用のプロジェクトを作ります。先程もちょっと書きましたが、プロジェクトはJavaソフト開発の最小単位みたいなものです。

Spring Boot用のプロジェクトを作成するためには、Eclipseで[ファイル(F)]→[新規(N)]→[Springスタータープロジェクト]と選択します。

すると新規Springスタータープロジェクトウインドが立ち上がります。色々入力欄がありますが、今回は以下のテーブルように設定しましょう。テーブルに無い項目はデフォルトのままです。

項目名概要
名前testプロジェクトの名前
グループblog.tsuchiya複数のプロジェクトをまとめて開発を行う際などに利用するらしい。あんまり気にしなくて大丈夫。
成果物testSpring Bootアプリケーションをビルドしたら出来上がるファイルに付ける文字列。
パッケージblog.tsuchiya.testプロジェクトで使うベースパッケージ
スタータープロジェクトで指定する値

こんな感じで入力したら[次へ(N)]を押します。

新規Springスタータープロジェクト入力後

続いて新規Springスタータープロジェクト依存関係では、今回のプロジェクトで使う機能を指定します。今回使うのは以下の2つだけです。どちらも左上の検索欄に「Web」と入力すると出てきます。

名前概要
Spring WebWebアプリケーションで使う基本的な機能を提供
ThymeleafThymeleafというテンプレートエンジンを使えるようにする
依存関係に登録する値

この2つを設定したら[完了(F)]を押しましょう。

新規Springスタータープロジェクト依存関係入力後

しばらく必要なファイルのダウンロードが続きます。ダウンロードが終わったら、Eclipseは次のような状態になっているはずです。

Springスタータープロジェクト作成直後

ここまででSpring Boot開発の準備は整いました。

Hello Worldをブラウザに表示する

ごく簡単なWebアプリケーションを作成してみます。

内容はおなじみHello World。

ブラウザからの入力を管理するControllerクラスから、Thymeleafに文字列を渡して表示するプログラムを作ります。最後にアプリケーションサーバを起動してブラウザからアクセスしてみましょう。

Thymeleafテンプレート

先にブラウザに表示するHTMLのテンプレートを作成します。

Spring BootではThymeleafのテンプレートは

src\main\resources\templates

このフォルダに置くことになっています。今回はtemplatesフォルダ直下にindex.htmlを作りました。この段階でのフォルダ構成は画像のようになります。

テンプレート作成直後のフォルダ構成

作成したindex.htmlの中身は次のようにします。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Spring Bootサンプルアプリケーション</title>
</head>
<body>
	<!--/* Controllerから渡される文字列を展開する */-->
	<h1 th:text="${message}">ダミーテキスト</h1>
</body>
</html>

解説が必要なのはth:text=”${message}”の部分でしょう。これは、Thymeleafの構文です。後で作るControllerクラスから渡される「message」という文字の内容をh1タグのテキストとして設定しなさいという指示になります。

後でアプリケーションサーバを実行してブラウザからアクセスするとわかりますが、「ダミーテキスト」の部分は無視して「message」の内容を表示します。

Controllerクラス

続いてControllerクラスです。アクセスするURLに応じでどのような処理を行うのかを記述します。

Spring Bootで使うクラスは、Spring Boot開発の準備をするで指定したパッケージ内に存在する必要があります。

今回作る小さなサンプルではあんまり必要ないのですが、今後大きなアプリを作る場合の練習としてblog.tsuchiya.testパッケージの下にcontrollerパッケージを作成して、その中にControllerクラスを作成しましょう。

パッケージエクスプローラーのblog.tsuchiya.testパッケージを右クリックして、[新規(W)]→[クラス]を選択します。

パッケージエクスプローラーからクラスを新規作成する

すると新規Javaクラスウインドが表示されるので、[パッケージ(K)]を「blog.tsuchiya.test.controller」に、[名前(M)]を「TestController」にして[完了(F)]を押します。

新規Javaクラス入力後

これでControllerクラスができました。

このクラスの中に、Controllerクラスであること示すアノテーションと、ブラウザから指定URLでアクセスされた場合の初期を書いていきます。

package blog.tsuchiya.test.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

// このクラスがControllerであることを示すアノテーション
@Controller
public class TestController {

	// このURLでGETメソッドでアクセスされた場合の処理
	// @GetMappingアノテーションを付けてあればメソッド名は何でもいい
	// modelにはSpring Bootが必要なインスタンスを入力してくれる
	@GetMapping("test")
	public String index(Model model) {
		// messageという文字列に値を格納する
		model.addAttribute("message", "Hello World");
		// 利用するテンプレートファイルを指定する
		return "index";
	}
}

だいたいコメントに書いた通りの内容です。

1つだけ、

return "index";

ここがわかりにくいと思います。テンプレートファイルの場所を返しているのですが、Thymeleafを使う場合、拡張子「.html」は不要です。そのため、「index」だけを返すと「index.html」ファイルをテンプレートとして利用することになります。

アプリケーションサーバ起動とブラウザでのアクセス

それでは実際に動かしてみましょう。

書いたコードをSpring Bootアプリケーションとして実行するためには、プロジェクトを右クリックして[実行(R)]→[Spring Bootアプリケーション]と選択していきます。

すると、左下のコンソールにSpring Bootの実行ログが流れます。

Spring Bootの実行ログ

初回起動時にWindowsから警告が出るかもしれませんが、気にしないでOKにしてください。

Spring Bootの起動が完了(ログに「Started TestApplication in 1.206 seconds」のようなものが表示される)したら、ブラウザでhttp://localhost:8080/testにアクセスしましょう。

ブラウザでサンプルアプリにアクセス

Hello Worldと表示されたら成功です。

Controllerクラス(TestController)から「message」という名前で「Hello World」という文字列をThymeleafテンプレート「index.html」に渡しました。 「index.html」 では「th:text=”${message}”」という機能を使って「message」の値をh1タグのテキストとして表示しています。

Spring Bootを停止するためには、画面左下コンソールの赤い四角ボタンを押してください。

Spring Bootの停止

まとめ

Pleiades All in One Eclipseのインストールから簡単なSpring Bootアプリケーションの実行までを行ってきました。

これでSpring Bootを勉強する前提は整ったはず。DIやAOPなど慣れないと難しい概念があるフレームワークですが一歩一歩学習を進めていきましょう。

今後Spring Bootの勉強をしていくのなら、Spring Boot 2 入門: 基礎から実演まで Webアプリ開発入門がおすすめです。私もこの本で勉強しました。

以前にStrutsを利用しての開発経験があったとはいえ、Spring Bootの学習時間半年で実務に入れたのはこの本のおかげです。

紙の書籍だとバージョンアップで陳腐化することもあるのですが、この本はSpring Bootのメジャーバージョンが上がるたびに対応してくれています。

Amazon.co.jp: Spring Boot 2 入門: 基礎から実演まで Webアプリ開発入門 eBook : 原田 けいと, 竹田 甘地, Robert Segawa: 本
Amazon.co.jp: Spring Boot 2 入門: 基礎から実演まで Webアプリ開発入門 eBook : 原田 けいと, 竹田 甘地, Robert Segawa: 本

入門書なんて何回も読み返さないという方でしたら、Kindle Unlimitedに入ってさっさと読みすすめるのもいいでしょう。Kindle Unlimitedでは他にも何冊かSpring Bootに関する書籍が対象になっているので、1冊ずつ買うより安く済みます。

(安いというか最初の1ヶ月は無料なのでただですね。)

2021年9月だと、次の書籍がKindle Unlimited対象です。

後悔しないためのSpring Boot 入門書:Spring 解体新書(第2版): Spring Bootが丸分かり Spring解体新書 | 田村達也 | 工学 | Kindleストア | Amazon
Amazonで田村達也の後悔しないためのSpring Boot 入門書:Spring 解体新書(第2版): Spring Bootが丸分かり Spring解体新書。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただ...
速習 Spring Boot 速習シリーズ | 山田祥寛 | 工学 | Kindleストア | Amazon
Amazonで山田祥寛の速習 Spring Boot 速習シリーズ。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

コメント

タイトルとURLをコピーしました