コンテンツにスキップ

10-7. 第10章 総括

第10章では、HTML / CSS / JavaScript / Java / Spring Boot / JPA という幅広い技術を組み合わせ、フロントエンドからバックエンド・データベースまで一気通貫した書籍管理アプリを作り上げた。

ここまで来られたことは、研修の大きな節目である。


セクション内容
10-1アプリ全体の UI 骨格を HTML / CSS で設計した
10-2書籍一覧テーブルとフォームを JavaScript で動的に描画した
10-3入力バリデーションと localStorage による状態保持を実装した
セクション内容
10-4Spring Boot で書籍管理 REST API(CRUD)を実装した
10-5fetch を使ってフロントエンドから API を呼び出し、フルスタック連携を完成させた
セクション内容
10-6JPA / Hibernate と H2 Database を使い、メモリ上のデータを DB へ永続化した

Browser UI(HTML / CSS / JavaScript)
↓ fetch
Controller(Spring MVC)
Service(ビジネスロジック)
Repository(Spring Data JPA)
Database(H2)

各層を分けた理由、つながり方、責務の違いを自分の言葉で説明できるようになっていれば、この章の目標は達成できている。


今回のアプリには、実務でよく使われる要素でまだ実装していないものもある。

  • テストクラスBookServiceTest(単体テスト)や BookControllerIntegrationTest(統合テスト)のような自動テストは扱わなかった。テストの書き方は第7章で学んだ内容をこのアプリに当てはめると練習になる。
  • 本番 DB への切り替え:今回は H2 のインメモリ DB を使った。MySQL や PostgreSQL への切り替えは、application.properties と依存ライブラリの変更で対応できる。
  • 認証・認可:誰でも登録・削除できる状態のままである。Spring Security を使ったログイン機能の追加が次のステップになる。
  • エラーハンドリングの充実:バリデーションエラー以外のケースへの対応や、ユーザーへのわかりやすいメッセージ表示はまだ最小限である。

これらは、この研修で得た基礎があれば自分で調べながら進められる領域である。


第10章を通じて、フルスタック開発の全体像をつかむことができた。 ここからは、実際の業務や自分のプロジェクトで手を動かし続けることが一番の近道である。