SpringBootで初歩の環境構築～とりあえずトップページが表示されるところまで

# 開発環境

Windows10でやっていきます。

# Spring Tools 4 for Eclipseダウンロード

下記サイトからjarファイルをダウンロード。

https://spring.io/tools

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/bc94f5e2-6a12-05fd-d0e3-d1505188430d.png)

# jarファイル起動

ダウンロードしたjarファイル
spring-tool-suite-4-4.20.1.RELEASE-e4.29.0-win32.win32.x86_64.self-extracting.jar
を起動。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/2b850c5a-878b-85a0-c0d0-d0946127093d.png)

jarファイルと同じフォルダーに、『sts-4.20.1.RELEASE』という名前のフォルダーが出来上がります。

# SpringToolSuite4起動

:::note warn
「パスにユーザー名が入っていない方がいいかなぁ」程度の理由でCドライブ直下を作業領域にしています。
:::

いったん『sts-4.20.1.RELEASE』はCドライブ直下に移動。

```:SpringToolSuite4を起動するときはこのexeを
C:\sts-4.20.1.RELEASE\
SpringToolSuite4.exe
```

ワークスペースはいったん下記に設定。

```
C:\workspace\
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/ae583756-676e-2684-de14-0c045c64ec28.png)

# いったんまっさらなプロジェクト作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/548cf970-6dd0-875e-efbd-f62d1f3cffe8.png)

下記画面は初期値のまま。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/29b91409-c272-9fce-f9b5-365f0dcfab9b.png)

下記画面も初期値のまま。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/67ffb0fb-7da1-6acb-b5a3-dbc0490ae111.png)

こんな感じに出来上がります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/6f734071-ddde-c672-fadd-6510e441e94b.png)

# 試しにSpringBootAppを起動してみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/65906898-a017-4008-5863-d83320adbc93.png)

ファイアウォールのアクセス許可を求められます。（その1）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/8024fc9d-ef3b-d5d6-d400-1a086c948167.png)

ファイアウォールのアクセス許可を求められます。（その2）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/8d8ebf33-2f37-2656-5978-ab5d306ce602.png)

コンソール上は問題無さそうだけど…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/16162a32-02f0-9372-78c3-26ccda292498.png)

『http\://localhost:8080/』にアクセスしても、そもそも応答すら無い状態。
まっさらなプロジェクトなので当たり前といえば当たり前。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/74c795ce-3f6a-816d-d2c7-2f235622964d.png)

# ここから必要なものを追加していきます

下記を追加して『トップページが表示される状態』までもっていきます。

* Spring Web
* index.html
* Controller
* Thymeleaf

# Spring Webを入れる

プロジェクト上で右クリック → 『Spring』 → 『Add Starters』
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/e60ab3a6-3db9-b8e0-1169-59734787cb67.png)

『Web』 → 『Spring Web』。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/f2a7f881-735d-9690-f06a-02273ceced2a.png)

次の画面のチェックは全部入れる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/7b328e01-1f57-1279-bb27-b085a632ae90.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/e74dccdd-3ad8-8cb1-a694-21a4644c0466.png)

試しにSpringBootApp起動すると、『エラーページの設定無いよ』という **応答** は来ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/9b93fadb-4187-2110-b65f-f1071e0f3a06.png)

ちなみにWEBサーバー（SpringBootApp）を停止する時はここ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/0023009f-587a-2a17-8d0c-420500c7caec.png)

# index.htmlの作成

『templates』上で右クリック → 『New』 → 『File』。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/b2caf9a7-13c2-f898-c00b-53d2dbbab0fb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/ad6b4beb-6e68-4f3a-9f73-6db3422c3f7f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/489e48bf-2301-94d9-d300-252893c90a3f.png)

```html:index.html
<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<body>
	とりあえずなんか	
</body>
</html>
```

# Controllerの作成

パッケージ上で右クリック → 『New』 → 『Class』。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/211fe32f-ad77-9417-e87b-dd28c9f7d3fd.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/53894070-4bc5-e76e-3d02-8ed05920b0ad.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/f107e99d-4dcd-617e-934f-d65b59ad00bb.png)

```java:DemoController.java
package com.example.demo;

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

@Controller
public class DemoController {

	@GetMapping("/") //トップページにアクセスが来たら…
	public String getIndex() {
		return "/index"; //indexって名前が付いてるやつを使え
	}
	
}
```

# Thymeleafを入れる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/189d3d31-accf-c57a-d035-0d9d4500463f.png)

注意点として、下記のように『Frequently Used』にチェックを入れずに進めてしまうと…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/cd5fa44a-2b23-0221-9718-75f47397193c.png)

ビルドエラーとなってしまいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/12b19442-88ba-fc14-934d-c2c65689b2a9.png)

その場合は『Add Starters』画面を出して、下記のようにチェックを入れればリカバリーできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/76938a17-0c52-b3fa-8ef6-8c2316efd621.png)

Spring Webの時と同様に下記画面のチェックボックスは全部入れる形。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/7e7e58c1-934f-8fc1-5f8f-ca4bfc6c27cb.png)

# 作ったトップページが表示された

まっさらなプロジェクトの状態から、いろいろ追加してトップページの表示まで行けました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/4831bd59-1832-36ca-c268-fb7a4f37a92d.png)

# この記事の続き

https://qiita.com/waokitsune/items/d7fa0ab0c538f8e86729

# 参考サイトさん

https://loglog.xyz/programming/spring_dev_ide

https://loglog.xyz/programming/spring_index

# バージョン

Microsoft Windows [Version 10.0.19045.3693]
Spring Boot v3.1.5