Spring Web Application Tutorial¶
書籍「Spring徹底入門 第2版」の14章 チュートリアルで作成する「会議室予約システム」の内容を実践した技術メモです。
会議室予約システム概要¶
RDBMSをストレージとするWebアプリケーションです。Spring Frameworkで構成します。
開発には、Spring Boot と Spring MVCを主とし、データベースアクセスにはSpring JPA、画面は Thymeleaf、認証にはSpring Securityを使います。
環境¶
書籍より新しいバージョンを使います。また、IDEは書籍では Eclipse STSですが、本記事では IntelliJ IDEA Ultimatedを使います。
MacBook¶
- OS: macOS 26
- Java: JDK 25 (Liberica JDK 25)
- IDE: IntelliJ IDEA Ultimated
- RDBMS: PostgreSQL 18
PostgreSQL 18の設定¶
書籍記載にあるデータベース・ユーザーを作成します。
チュートリアル実践¶
プロジェクト作成¶
会議室予約システムの開発プロジェクトを作成します。
- IntelliJ IDEAで[ファイル]メニュー > [新規] > [プロジェクト] で「新規プロジェクト」ウィンドウを開く
- 左ペインで[Spring Boot]を選択、右ペインで、[名前]にmrsを記入、[言語]にJavaを選択、[型]にGradle-Kotlinを選択、グループはcom.torutk.spring、アーティファクトはmrsを記載、名前とパッケージ名は自動で生成されます。JDKは25を選択、Javaは25、パッケージ化はJarを選択

- [次へ]をクリックし、使用するSpring Frameworkのコンポーネントにチェックを付ける

使用するコンポーネントは、Spring Data JPA, PostgreSQL Driver, Tymeleaf, Spring Webです。
パッケージディレクトリの作成¶
会議室予約システムのアプリケーションは次のパッケージ構成を取ります。
- ドメイン層(domain)
- モデル(model)
- リポジトリ(repository)
- reservation
- room
- user
- サービス(service)
- reservation
- room
- user
- アプリケーション層(app)
- ログイン(login)
- 予約(reservation)
- 会議室(room)