目次
🎯 今回の目標
Spring Bootを使って実際にWebアプリケーションを作成し、動作させる
🌐Webアプリケーションの基本概念
何かサービスを依頼する側のコンピューターやソフトウェア
例: Webブラウザー
サービスを提供する側のコンピューターやソフトウェア
例: Tomcat(埋め込み型サーバー)
クライアントがサーバーに送るサービス依頼のメッセージ
プロトコル: HTTP
サーバーがクライアントに返す処理結果のメッセージ
形式: HTML、JSON など
🔧Spring Bootの特徴
🚀 主な利点
- 少ない設定でプロジェクト作成可能
- 枠組を提供:Spring部品や外部部品を使った枠組を自動作成
- 部品の配置が簡単:フレームワークに部品を配置しやすい
- COC原則:繁雑な設定が不要
- 埋め込み型サーバー:デフォルトでTomcatを使用
📊今回作成するサンプル
🎯 サンプルの仕様
URL: http://localhost:8080/hello
リクエスト: GETリクエスト
レスポンス: 「ハロースプリング」をHTML形式で表示
🏗️ プログラム構成
リクエストを受け取って処理する部品
実装: Javaクラス(POJO)
名前: HelloSpringController
URLパターンに応じて処理するメソッド
名前: hello()
URL: /hello のGETリクエストを処理
結果を表示するHTMLのひな型
名前: hellospring.html
エンジン: Thymeleaf
⚙️Spring Boot内部の動作フロー
- ブラウザーからGETリクエストが送信される
- フロントコントローラーがリクエストを受け取る
- URLパターンから対応するコントローラーのハンドラーメソッドを特定
- ハンドラーメソッドを呼び出して処理を実行
- HTMLテンプレート名をフロントコントローラーに返す
- フロントコントローラーがHTMLテンプレートを見つける
- ThymeleafにHTMLレスポンス作成を依頼
- クライアントにHTMLレスポンスを送信
🛠️実装手順
1. Spring Bootプロジェクト作成
プロジェクト設定:
- 名前: spring-start-03
- タイプ: Maven
- パッケージング: Jar
- Javaバージョン: 17
- 言語: Java
2. 依存関係の選択
開発時に便利なツール
- 自動リロード機能
- デバッグサポート
Webアプリ作成の枠組を提供
- Webアプリ開発で必須
- HTTPリクエスト処理
テンプレートエンジン
- HTMLテンプレート処理
- Spring推奨
3. コントローラー作成
1 2 |
<span class="hljs-meta">@Controller</span><span> </span><span class="hljs-keyword">public</span><span> </span><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">HelloSpringController</span> </span><span>{ <br /></span><span class="hljs-meta">@GetMapping</span><span>(</span><span class="hljs-string">"/hello"</span><span>) <br /></span><span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">hello</span><span class="hljs-params">()</span> </span><span>{<br /> </span><span class="hljs-keyword">return</span><span> </span><span class="hljs-string">"hellospring"</span><span>; <br />} <br />}</span> |
🏷️ アノテーションの説明
- @Controller: このクラスがコントローラーであることを示す
- @GetMapping(“/hello”): URLパターン”/hello”のGETリクエストを処理
- 戻り値String: HTMLテンプレート名として認識される
4. HTMLテンプレート
1 |
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Hello Spring</title> </head> <body> <h1>Hello Spring!</h1> </body> </html> |
📍 配置場所
パス: src/main/resources/templates/hellospring.html
Springはこのフォルダーから自動的にHTMLテンプレートを探します
5. アプリケーション起動
Boot Dashboard使用:
- Boot Dashboardを開く
- ローカル → spring-start-03 を選択
- 右クリック → 「起動」を選択
- コンソールでエラーがないことを確認
6. 動作確認
ブラウザーでアクセス:
http://localhost:8080/hello
「ハロースプリング」と表示されれば成功!
🎉 まとめ
Spring Bootを使って初めてのWebアプリケーションを作成しました!
アノテーションを使うことで、少ないコードで動作するアプリが完成。
次回はもっと複雑な機能を実装していきます!
🔑 重要なポイント
- アノテーションが重要な役割を果たす
- COC原則により設定が最小限
- フロントコントローラーがリクエストを振り分け
- ThymeleafがHTMLテンプレートを処理
- 埋め込み型Tomcatで簡単にサーバー起動
参考URL
1 |
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Hello Spring</title> </head> <body> <h1>Hello Spring!</h1> </body> </html> |
コメントを残す