【Mac】Spring Boot 開発環境構築

# 概要
SpringBootの開発環境の構築手順をまとめます。

# 環境
* macOSバージョン：12.3.1
* Spring Bootバージョン：2.7.0
* Javaバージョン：17.0
* MySQLバージョン：8.0

# JDKのインストール
[java17のダウンロードページ](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) の「macOS x64 DMG Installer」を選択してdmgファイルをダウンロードします。
ダウンロードしたdmgファイルを起動してJDKインストールします。
参考：[macOSでのjavaのインストール手順](https://docs.oracle.com/javase/jp/17/install/installation-jdk-macos.html#GUID-F575EB4A-70D3-4AB4-A20E-DBE95171AB5F)

以下コマンドよりjavaのバージョン17が表示されればインストール完了になります。
```
# バージョン確認
$ java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
```

# mysqlのインストール
ターミナルを開き、brewコマンドを使ってMySQL8.0をインストールします。
```
# インストール
$ brew install mysql@8.0

# バージョン確認
$ mysql --version
mysql  Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)
```

# STS（Spring Tool Suite 4)のインストール
[STSのダウンロードサイト](https://spring.io/tools)にアクセス。
Spring Tools 4 for Eclipseの欄から「4.17.2-MACOS X86_64」（2023.02.13時点のバージョン）を選択してダウンロードします。
ダウンロードファイルの起動後、SpringToolSuite4.appをApplicationsファイルにドラッグアンドドロップしてインストールします。

## Pleiades(STSの日本語化プラグイン)のインストール
[Pleiadesダウンロードサイト](https://mergedoc.osdn.jp/)にアクセスし、「Pleiades プラグイン・ダウンロード」から「Mac」を選択し、zipファイルをダウンロードします。
zipファイルを解凍し、setup.appを起動します。
以下の画面が表示されたら、STSを選択し「日本語化する」をクリックしてインストール完了となります。
![スクリーンショット 2023-02-13 13.41.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3123181/71d7f809-6276-7255-46ac-6c5583a839fb.png)

## Lombokのインストール
Lombokとは、アノテーションでsetterやgetterを自動的に実装してくれるツールです。
[Lombokダウンロードサイト](https://projectlombok.org/download)にアクセスします。
ダウンロードしたlombok.jarを/Applications/SpringToolSuite4.app/Contents/MacOSにコピーします。
lombok.jarを起動し、Specify location...を選択します。
/Applications/SpringToolSuite4.app/Contents/Eclipse/にあるSpringToolSuite4.iniを選択し、「install/Update」「Quit Installer」と順に選択してインストール完了となります。
![スクリーンショット 2023-02-13 14.07.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3123181/f33e0fae-1ebd-4219-4705-9c3672974e09.png)


# 新規プロジェクトの作成
STSを起動し、メニューのSpring スターター・プロジュエクトを選択します。
名前を適当に設定し、次へを選択します。
![スクリーンショット 2023-02-13 14.12.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3123181/a6c3c58b-fdb4-31e1-bf45-c1e47bc88f01.png)
Spring スターター・プロジュエクト依存関係の画面が表示されるので、以下のプラグインを選択して完了をクリックします。
![スクリーンショット 2023-02-13 14.13.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3123181/ebe22703-be74-f830-35a2-71c095012f06.png)
今回は、次の5つのライブラリを指定しています。
|  ライブラリ |  機能  |
| ---- | ---- |
|  Spring DevTools  |  サーバを再起動しなくてもコードの修正が反映される  |
|  Lombok  |  setterやgetterを自動的に実装してくれる  |
| MyBatis FrameWork | Javaでデータベースを扱うためのフレームワーク |
| MySQL Driver | MySQLへの接続ドライバ |
| Tymeleaf | Viewを表示するためのテンプレートエンジン |
| Spring Web | WEBアプリを構築するためのスターター |

# アプリケーションプロパティの設定
作成したプロジェクトに、application.properties というファイルが生成されていますので、ここにデータベースに関する設定を記述します。
```
spring.datasource.url=jdbc:mysql://localhost:3306/データベース名
spring.datasource.username=ユーザー名
spring.datasource.password=パスワード
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.sql.init.mode=always
spring.sql.init.schema-locations=classpath:schema.sql
spring.sql.init.data-locations=classpath:data.sql
spring.sql.init.encoding=utf-8
mybatis.configuration.map-underscore-to-camel-case=true
```

# SQLファイルの作成、コントローラー、ビューの作成
以下参考に実施
https://qiita.com/t-yama-3/items/969825d5c1bc4a16866d

# 参考
https://qiita.com/t-yama-3/items/969825d5c1bc4a16866d