Spring Frameworkを使う場合、STS(Spring Tool Suite)を利用するとことが多いと思われますが、今現在、Eclipseを使っていて、そのEclipseを使い続けていきたい場合、プラグインを導入すれば良いようです。
2020年1月14(火)追記:↓ ここから
Pleiadies All in One の Eclipse 2018-09 からは、STS(Spring Tool Suite)が同梱されるようになったようです。
⇧ 上記サイト様で、変更履歴を載せてくれています。
ただし、Eclipse本体では、STS(Spring Tool Suite)は同梱されていないので、気を付けましょう。
2020年1月14(火)追記:↑ ここまで
Spring Tool Suite(STS)プラグインのインストール
Eclipseを起動し、「ヘルプ(H)」>「Eclipse マーケットプレース(M)...」を選択。
「検索(I):」で「STS」と入力すると、「Spring ツール」が表示されるので「インストール」をクリック。
「確認」をクリック。
インストールが始まります。
「使用条件の条項に同意します(A)」にチェックし「完了(F)」をクリック。
Eclipseの再起動を促されるので、再起動。
Spring Frameworkが利用できるようになりました。まずは、画面に表示されてる「ワークベンチ」をクリック。
「ウィンドウ(W)」>「設定(P)」をクリック。
「Maven」を選択し、チェック項目にチェックを追加。「適用」をクリック。
「OK」をクリック。
続いて、「ウィンドウ(W)」>「パースペクティブを開く(O)」>「その他(O)...」をクリック。
「Spring」を選択し、「OK」。
「パースペクティブ」に「Spring」が追加されました。
「ファイル(F)」「新規(N)」「Spring スターター・プロジェクト」をクリック。
適当に「名前」を入力。Springのプロジェクト用に「ワーキング・セット」を作ろうと思うので、「ワーキング・セット」の「新規(W)...」をクリック。
「Java」を選択し、「次へ(N)>」をクリック。
「ワーキング・セットの内容(C)」が空になっているのを確認し、「完了(F)」をクリック。
「次へ(N)>」をクリック。
とりあえず、「Web」の中の「Web」にチェックを入れ、「次へ(N)」をクリック。(後から、追加することができます。Mavenを使う場合は、pom.mlで追加していく形になります。実際に、「thymeleaf」というものを後で追加していきます。)
「完了(F)」をクリック。
プロジェクトの作成が始まります。
「Spring Boot 」でプロジェクトが作成されました。
のをクリックし、「ワーキング・セットの構成(W)....」をクリック。
「spring」以外を非表示にしておきます。「OK」。
Springで開発していく場合、「src/main/java」に「java」系のファイルを、「src/main/resources」 >「static」に「css」「js」「img」などのファイルを配置し、「src/main/resources」 >「templates」に「jsp」「html」などのファイルを配置していく形になるようです。
「src/main/java」>「com.example.demo」に自動的に作成されてる「[プロジェクト名]Application.java」というファイルが、「Spring Boot」プロジェクトのエントリーポイント(サーバーが起動したとき、一番初めに実行される)のようです。
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class FirstSpringApplication { public static void main(String[] args) { SpringApplication.run(FirstSpringApplication.class, args); } }
今回は、画面表示(MVCモデルで言うところのView部分)に「jsp」を使わず、「thymeleaf」というテンプレートエンジンを使っていきます。
これは、pom.xmlで追加していきます。「パッケージ・エクスプローラー」にあった「pom.xml」をクリックします。下の方に、タブがあるので「依存関係」をクリック。
「依存関係」のほうの「追加...」をクリック。
「グループ ID、アーティファクト ID または sha 1 接頭部またはパターン(*)の入力(E):」で「thyme」ぐらいまで入力すると、「検索結果(S):」が表示されるので、「org.springframework.book spring-boot-starter-thymeleaf(managed)」を選択し、「OK」。
「thymeleaf」が追加されたので、「Ctrl + S」とかで保存しましょう。
thymeleafを試してみる
今回は、MVCモデルのうち、VCを実装します。
それでは、「src/main/resources」 >「templates」を選択した状態で右クリックし、「新規(W)」>「その他(O)...」をクリック。
「Web」>「HTMLファイル」を選択し、「次へ(N)>」をクリック。
「ファイル名(M):」を入力し「次へ(N)>」をクリック。
「完了(F)」をクリック。
続いて、「src/main/java」>「com.example.demo」を選択した状態で右クリックし(パッケージ名は人それぞれ違ってると思います)、「新規(W)」>「フォルダー」を選択。
「フォルダー名(N):」を入力し、「完了(F)」。
作成したフォルダーを選択した状態で右クリックし、「新規(W)」>「クラス」を選択。
「名前(M):」を入力し、「完了(F)」。
javaファイルができました。
ファイルの編集
package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/") public String firstView(Model model) { model.addAttribute("hello", "ごはんが美味しい季節です"); return "hello"; } }
hello.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8" /> <title>thymeleafのテスト</title> </head> <body> <p th:text="${hello}">ズバババン!thymeleaf</p> </body> </html>
それでは、サーバーを起動してみます。初回は、「実行(R)」>「Spring Boot アプリケーション」を選択。
「コンソール」でエラーがなければ起動できてます。
「http://localhost:8080/」にアクセスすると、「hello.html」が表示されます。
Springでは、アノテーションをつけることでいろいろなことができます。今回は、「HelloController.java」に「@Controller」というアノテーションをつけたので、「HelloController.java」がControllerとして機能します。
メソッドについていた「@RequestMapping("アクセス先")」で、ブラウザからのリクエストを受け付けます。「http://localhost:8080/」でアクセスした場合、「@RequestMapping("/")」に一致するので、firstView()メソッドが実行されます。
model.addAttribute("templates側のファイルで使うときの名前", [値])で、hello.html側で[値]を利用できるようにしています。
return "ファイル名(拡張子なし)" 、とすることでファイルを表示します。ここでは、hello.htmlが表示されます。
thymeleafの機能で、「th:text="${model.addAttribute()でセットした名前}"」の値を表示しています。値が無い場合は、今回ですと、「ズバババン!thymeleaf」が表示されます。
ちなみに、サーバー停止は、上部にある クリックで。
徐々に、thymeleafに慣れていきたいですね。
2018年1月21日(日)追記:
nunoさんコメントありがとうございます。がんばって記事を書き続けていきたいと思います。