令和時代のSpring開発環境構築
格好良く言ってみたかった。最新のEclipseをインストールするだけで開発環境が整うよ、という話。
「Spring Boot 入門」とかでググるとたくさん記事が出てきて、記事ごとに様々な方法で環境構築していたりする。STSツール?プラグイン?とか、プロジェクト作成でGradle?Maven?とかとか。
そんなあれやこれやをすっ飛ばしてサクッと環境構築だ!ついでに動作確認も!
Eclipseをインストール
最新版(2018-09版以降)のEclipseにはSpring Tool Suite (STS)プラグインがデフォルトで入っているので即開発可能、という仕組み。
本家はこちら ⇒ https://www.eclipse.org/downloads/
だけど…日本語で開発したいからこちらで ⇒ http://mergedoc.osdn.jp/
①最新版(記事作成時点では『Eclipse 2019-03』)をクリック
②利用しているOSの『Java』『Full Edition』の『download』をクリックし、zipをダウンロード
※ここで10分くらいかかる
③zipを任意の場所に解凍。任意と言いつつ、Cドライブ直下にするのが王道
※ここで30分~1時間くらいかかる
④ここは好みの問題なのでスキップ可。別バージョンのEclipseをインストールしたときに区別をつけやすくなるというだけ
解凍が完了するとCドライブ直下に『pleiades』というフォルダができているので、
『pleiades_【バージョン名】』にリネーム
例)『Eclipse 2019-03』をインストール ⇒『pleiades_2019-03』にリネーム
⑤pleiades_2019-03\eclipse\eclipse.exe を起動
ワークスペースはデフォルトのままでOK
チェックをつけておくと、次回以降表示されなくなる
Spring Bootプロジェクト作成
難しいコマンド操作なしに、簡単にMavenでのプロジェクト作成ができる。(プロジェクト作成時、デフォルトでMavenが選択されているから)
また、依存関係でWebにチェックを入れることで、Webアプリケーション開発に必要なもろもろの設定が自動的に行われるようになる。
①ファイル ⇒ 新規 ⇒ その他 ⇒ Spring Boot ⇒ Springスターター・プロジェクト を選択して次へ
②今回はHello, World!を確認したいだけなので、そのまま次へ
ちゃんと開発するときは名前(プロジェクト名)とパッケージ名を付ける
③Web にチェックを付けて完了
テキストボックスに目当ての機能名を入力すると表示を絞り込んでくれる
原因不明のエラーが出てしまった…。とりあえず動かせたので無視して進める。
解消方法ご存知の方はぜひ教えてください。
動作確認 Hello, World!
Spring MVCの仕組みに則って、View(html)とController(ModelとViewを紐づける)を作成する。
1.htmlファイル作成
弊社先輩の「Thymeleafはもう古い」という言葉を真に受けて、Thymeleafは使わないことにした。
Thymeleafを使う場合のhtmlの作成場所は src/main/resource/templates 配下だが、
未使用の場合は src/main/resource/static 配下になるので要注意。
①src/main/resource/static を右クリック ⇒ 新規 ⇒ その他 ⇒ Web ⇒ HTMLファイル を選択して次へ
②任意のファイル名を付けて完了。index.htmlとした
③実装
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> Hello, World! </body> </html>
2.Controllerクラス作成
DemoApplication.java と同じか配下のパッケージにControllerクラスを作成しないと動かないので注意。
また、@Controllerアノテーションで作成するので、メソッドの戻り値は遷移先のhtml名(View)となる。
①com.example.demo を右クリック ⇒ 新規 ⇒ クラス
②任意の名前を付けて完了。IndexController とした
③実装
package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController { @RequestMapping("/") public String inbox() { return "index.html"; } }
3.実行
設定不要で、実行するだけでtomcatが起動する。
①プロジェクトを右クリック ⇒ 実行 ⇒ Spring Bootアプリケーション
Completed ~ が表示されたら起動完了
②ブラウザのURLに「http://localhost:8080/」と入力
お疲れ様でした!!