23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Spring Initializrでアプリケーションのひな型を作成する

Posted at

概要

[Spring Initializr] (https://start.spring.io/)を利用してSpring Bootアプリケーションのひな型を作成する方法のメモです。
開発ツールにはPleiades All in One Eclipseを使用します。

環境

  • Windows 10 Professional 1903
  • Pleiades All in One Eclipse 2018-09
  • Spring Boot 2.1.6

作成手順

[Spring Initializr] (https://start.spring.io/)にアクセスします。図のようなページが表示されると思います。(2019/08現在)
01.png

Dependenciesで使用する機能を追加します。追加するのは以下の3つです。

Spring Web Starter

02.png

Spring Boot Actuator

03.png

Thymeleaf

10.png

最後に緑色のGenerate the projectボタンをクリックすると、demo.zipというファイルのダウンロードが始まります。
04.png

ダウンロードしたdemo.zipを展開し、作成されたdemoディレクトリをEclipseのワークスペース内へコピーします。
この記事では以下の場所へコピーしたという前提で説明を進めます。

C:\dev\eclipse_workspace\demo

Mavenでビルドする

コマンドプロンプトを起動し、カレントディレクトリをdemoディレクトリに変更します。

> cd C:\dev\eclipse_workspace\demo

次のコマンドでJAVA_HOME環境変数がセットされているか確認します。

> echo %JAVA_HOME%

コマンドの実行結果が何も表示されなかった場合セットされていません。
この場合、以下のコマンドでセットします。<JAVAのインストールディレクトリ>にはJAVAのインストールディレクトリをフルパスで指定します。

set JAVA_HOME=<JAVAのインストールディレクトリ>

例えば、以下のようになります。

set JAVA_HOME=C:\openjdk\jdk-11.0.2

次のコマンドでビルドを行います。ログが大量に出力されますが最後の方に"BUILD SUCCESS"というメッセージが出力されていればビルドは成功です。

mvnw clean install

// ... 省略 ...


[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:04 min
[INFO] Finished at: 2019-08-05T21:05:58+09:00
[INFO] ------------------------------------------------------------------------

Spring Bootアプリケーションの起動

次のコマンドでアプリケーションを起動します。起動されるとログのなかに"Started DemoApplication in x.xxx seconds"のようなメッセージが出力されます。

> mvnw spring-boot:run

// ... 省略 ...

INFO 7276 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 5.188 seconds (JVM running for 11.517)

アプリケーションが起動したらブラウザで次のアドレスにアクセスします。

下記の情報がブラウザに表示されれば成功です。(環境によっては整形されずに表示されることがありますが問題ありません。)

{
    "_links": {
        "self": {
            "href": "http://localhost:8080/actuator",
            "templated": false
        },
        "health": {
            "href": "http://localhost:8080/actuator/health",
            "templated": false
        },
        "health-component": {
            "href": "http://localhost:8080/actuator/health/{component}",
            "templated": true
        },
        "health-component-instance": {
            "href": "http://localhost:8080/actuator/health/{component}/{instance}",
            "templated": true
        },
        "info": {
            "href": "http://localhost:8080/actuator/info",
            "templated": false
        }
    }
}

アプリケーションの起動が確認できたら、コマンドプロンプト上でCtrl + Cを押し、以下のメッセージにyを入力して終了します。

バッチ ジョブを終了しますか (Y/N)? y

ひな型をEclipseに取り込む

Eclipseを起動しJava EEパースペクティブを開きます。
まだ開いていない場合は、メニューバー → ウィンドウパースペクティブパースペクティブを開くその他Java EEを選択。
09.png

プロジェクト・エクスプローラー上で右クリック → インポートインポート...Maven既存 Maven プロジェクト次へボタンをクリック。
05.png

ルート・ディレクトリーにdemoディレクトリを指定します。
06.png

図はプロジェクトを取り込んだ直後の状態です。pom.xmlに赤いエラーマークが付いているのでpom.xmlを編集します。
07.png

編集する箇所はproperties要素です。

<properties>
	<java.version>1.8</java.version>
</properties>

下記のように1行追加します。

<properties>
	<java.version>1.8</java.version>
	<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>

赤いエラーマークが消えたら、プロジェクト名を右クリック → Mavenプロジェクトの更新を実行します。

Spring Bootアプリケーションの起動

EclipseからSpring Bootアプリケーションを実行します。
図のようにDemoApplicationクラスファイルを開き、mainメソッドを右クリック → 実行Spring Boot アプリケーションを実行します。
08.png

アプリケーションが起動するとEclipseのコンソールにアプリケーションの起動ログが出力されます。
ログのなかに"Started DemoApplication in x.xxx seconds"というメッセージが出力されていれば起動済みです。

先ほどと同じようにブラウザで次のアドレスにアクセスします。

ブラウザに結果が表示されれば成功です。コンソールの赤い四角いマークをクリックしてアプリケーションを停止させます。

コントローラの追加

このひな型にシンプルなコントローラを追加してみます。

controllerパッケージを追加します。
11.png

controllerパッケージにIndexControllerクラスを追加します。
12.png

コントローラのソースコードは以下の通りです。
13.png

package com.example.demo.controller;

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

@Controller
public class IndexController {

	@GetMapping(value = {"/", ""})
	public String index(Model model) {
		model.addAttribute("message", "ハローワールド!");
		return "index";
	}

}

テンプレートの追加

src/main/resources/templatesにindex.htmlファイルを作成します。
14.png

<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>index</title>
</head>
<body>
  <div id="app">
    <h1>index</h1>
    <p th:text="${message}">Hello World!</p>
  </div>
</body>
</html>

アプリケーションを起動し http://localhost:8080/ にアクセスします。
ブラウザに「ハローワールド!」というメッセージが表示されれば成功です。

23
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?