作って学ぶ Spring Boot入門

「作って学ぶ Spring Boot入門」のカバー画像
著者
多田真敏ただまさとし 著
定価
2,970円(本体2,700円+税10%)
発売日
2026.6.16
判型
B5変形
頁数
256ページ
ISBN
978-4-297-15658-9 978-4-297-15659-6

概要

Spring BootはSpring Frameworkのフレームワークのひとつで、環境設定を簡略化し、Javaによる開発を効率化するフレームワークです。本書はJavaエンジニア1年目、仕事で使うためSpring Bootを学び始めたいという方を対象に、現場ですぐに使える知識を解説します。前提知識は以下のとおりです。

  • 入門書レベルのJava基本文法を利用してプログラムが作成できる
  • HTMLとCSSを利用してWebページを作成できる
  • SELECT文・INSERT文・UPDATE文・DELETE文を利用してリレーショナルデータベースを操作できる

実装だけではなくテストの技術まで学習でき、短期間で現場で使える技術を取得できます。また、各章ごとにハンズオンを取り入れることで、実際に手を動かすことで知識を定着させます。

こんな方にオススメ

  • Spring Bootの概要を短期間で把握したい人

目次

第1章 Spring Bootって何?

  • 1.1 Spring Frameworkって何?
  • 1.2 Spring Boot誕生の理由
  • 1.3 Spring Bootの特徴
  • 1.4 まとめ

第2章 本書のための開発環境を構築する

  • 2.1 Spring Bootを利用した開発に必要なもの
  • 2.2 Pleiades All in One Eclipseのインストール
    • 2.2.1 インストーラーのダウンロード(Windows・macOS共通)
    • 2.2.2 インストールの実行と起動(Windowsの場合)
    • 2.2.3 インストールの実行と起動(macOSの場合)
  • 2.3 初めてのSpring Boot Webアプリケーションを作成する
  • 2.4 サンプルプロジェクトをインポートする
  • 2.5 サンプルプロジェクトの構成
  • 2.6 まとめ

第3章 Springでよく使うJava知識を理解する

  • 3.1 Maven
  • 3.2 JUnit
  • 3.3 Mockito
  • 3.4 テキストブロック
  • 3.5 enum
  • 3.6 レコードクラス
  • 3.7 ラムダ式
    • 3.7.1 無名クラス
    • 3.7.2 ラムダ式
    • 3.7.3 ラムダ式の省略
  • 3.8 Stream API
  • 3.9 Optional
  • 3.10 まとめ

第4章 Springの根幹!DIコンテナを理解する

  • 4.1 DIコンテナとBeanって何?
  • 4.2 必要なライブラリ
  • 4.3 Beanを定義する方法
  • 4.4 コンポーネントスキャンによるBean定義
    • 4.4.1 コンポーネントスキャンとは
    • 4.4.2 Beanを定義する
    • 4.4.3 コンポーネントスキャンの実行+Beanの取り出しと利用
  • 4.5 メソッドによるBean定義
    • 4.5.1 Java Configとは
    • 4.5.2 Beanを定義する
    • 4.5.3 DIコンテナの生成+Beanの取り出しと利用
  • 4.6 コンポーネントスキャンでのBean定義とメソッドでのBean定義の使い分け
  • 4.7 DIとは
  • 4.8 @Autowiredの省略
  • 4.9 まとめ

第5章 Spring JDBCでデータベースにアクセスしよう

  • 5.1 Spring JDBCとは
  • 5.2 本章で作成するアプリケーション
    • 5.2.1 概要
    • 5.2.2 作成物
  • 5.3 必要な設定
    • 5.3.1 ライブラリの追加
    • 5.3.2 組み込みデータベースの追加
    • 5.3.3 application.propertiesの設定
    • 5.3.4 組み込みでないデータベースを使う場合
  • 5.4 起動時に実行するSQLの作成
  • 5.5 エンティティクラスの作成
  • 5.6 JdbcClientによるリポジトリークラスの作成
    • 5.6.1 作成するリポジトリークラスの概要
    • 5.6.2 IDで検索する
    • 5.6.3 名前で検索する
    • 5.6.4 集計関数の結果を取得する
    • 5.6.5 IDを指定してアイドル情報を更新する
    • 5.6.6 IDを指定してアイドル情報を削除する
    • 5.6.7 アイドル情報を追加する
  • 5.7 main()メソッドの作成
  • 5.8 データベースを利用したリポジトリークラスのテスト
    • 5.8.1 テストクラスの作成
    • 5.8.2 ID検索のテスト
    • 5.8.3 追加のテスト
    • 5.8.4 削除のテスト
    • 5.8.5 そのほかのテスト
    • 5.8.6 テストメソッド実行直前にSQLを実行する
  • 5.9 まとめ

第6章 Springでトランザクションを管理しよう

  • 6.1 本章で作成するアプリケーション
    • 6.1.1 概要
    • 6.1.2 作成物
  • 6.2 必要な設定
  • 6.3 サービスクラスの作成
  • 6.4 @Transactionalによるトランザクション管理
  • 6.5 モックを利用したサービスクラスのテスト
  • 6.6 まとめ

第7章 Spring MVCとThymeleafでWebアプリケーションを開発しよう

  • 7.1 Spring MVCとは
  • 7.2 Thymeleafとは
  • 7.3 組み込みサーバーとは
  • 7.4 本章で作成するアプリケーション
    • 7.4.1 概要
    • 7.4.2 作成物
    • 7.4.3 アプリケーションの構成
  • 7.5 必要な設定
    • 7.5.1 ライブラリの追加
    • 7.5.2 application.propertiesの設定
  • 7.6 コントローラークラス作成の基本
    • 7.6.1 コントローラークラス
    • 7.6.2 コントローラーメソッド
    • 7.6.3 POSTとPRGパターン
    • 7.6.4 コントローラーメソッドからThymeleafテンプレートに値を渡す
    • 7.6.5 リクエストパラメーターを引数で受け取る
    • 7.6.6 URLの一部を引数で受け取る
    • 7.6.7 完成したコントローラークラス
  • 7.7 スタイルシートの作成
  • 7.8 ThymeleafでのHTML画面作成の基本
    • 7.8.1 Thymeleafの特徴
    • 7.8.2 名前空間の記述
    • 7.8.3 コメント
    • 7.8.4 変数式と繰り返し
    • 7.8.5 選択変数式
    • 7.8.6 式ユーティリティオブジェクト
    • 7.8.7 リンクURL式
    • 7.8.8 リンクURL式と選択変数式の組み合わせ
    • 7.8.9 リクエストパラメーターの取得
    • 7.8.10 完成したアイドル一覧画面
    • 7.8.11 そのほかの機能
  • 7.9 コントローラーメソッドの単体テスト
    • 7.9.1 テストクラスの作成
    • 7.9.2 アイドル一覧画面のテスト
    • 7.9.3 キーワード検索機能のテスト
    • 7.9.4 卒業のテスト
  • 7.10 ブラウザからの結合テスト
  • 7.11 まとめ

第8章 バリデーションと例外処理で異常に対処しよう

  • 8.1 Hibernate Validatorとは
  • 8.2 本章で作成するアプリケーション
    • 8.2.1 概要
    • 8.2.2 作成物
    • 8.2.3 アプリケーションの構成
  • 8.3 必要な設定
    • 8.3.1 ライブラリの追加
    • 8.3.2 application.propertiesの設定
  • 8.4 フォームクラスの作成
  • 8.5 フォームクラスへの制約アノテーションの指定
  • 8.6 バリデーションエラー時のメッセージ記述
  • 8.7 型変換時のエラーメッセージ記述
  • 8.8 画面の作成
  • 8.9 コントローラークラスの作成
  • 8.10 コントローラーメソッド内での例外のスロー
  • 8.11 例外ハンドラークラスの作成
  • 8.12 エラー画面の作成
  • 8.13 404エラー画面の作成
  • 8.14 コントローラーメソッドの単体テスト
    • 8.14.1 卒業のテスト
    • 8.14.2 新規加入画面への遷移のテスト
    • 8.14.3 新規加入実行のテスト
    • 8.14.4 修正画面への遷移のテスト
    • 8.14.5 修正実行のテスト
  • 8.15 ブラウザからの結合テスト
  • 8.16 まとめ

第9章 Web APIを作ろう(前編)

  • 9.1 JSON・Web APIとは
  • 9.2 Jacksonとは
  • 9.3 Web APIに必要なHTTPの知識
    • 9.3.1 リクエストメソッド
    • 9.3.2 ステータスコード
    • 9.3.3 ヘッダー
  • 9.4 エラーレスポンスの標準
  • 9.5 本章で作成するアプリケーション
    • 9.5.1 概要
    • 9.5.2 作成物
    • 9.5.3 アプリケーションの構成
  • 9.6 必要な設定
    • 9.6.1 ライブラリの追加
    • 9.6.2 application.propertiesの設定
  • 9.7 RESTコントローラークラス
  • 9.8 例外ハンドラークラス
  • 9.9 単体テストクラス
  • 9.10 結合テストクラス
  • 9.11 ID検索
    • 9.11.1 リクエスト仕様
    • 9.11.2 正常時のレスポンス仕様
    • 9.11.3 該当するIDが存在しない場合のレスポンス仕様
    • 9.11.4 レスポンスクラスの作成
    • 9.11.5 例外クラスの作成
    • 9.11.6 RESTコントローラーメソッドの作成
    • 9.11.7 例外ハンドラーメソッドの作成
    • 9.11.8 単体テスト
    • 9.11.9 結合テスト
    • 9.11.10 単体テストと結合テストの違い
    • 9.11.11 curlコマンドによるテスト
  • 9.12 キーワード検索
    • 9.12.1 リクエスト仕様
    • 9.12.2 keywordパラメーターがない、または空文字の場合のレスポンス仕様
    • 9.12.3 該当するアイドルが存在する場合のレスポンス仕様
    • 9.12.4 該当するアイドルが存在しない場合のレスポンス仕様
    • 9.12.5 RESTコントローラーメソッドの作成
    • 9.12.6 単体テスト
    • 9.12.7 結合テスト
    • 9.12.8 curlコマンドによるテスト
  • 9.13 まとめ

第10章 Web APIを作ろう(後編)

  • 10.1 アイドルの加入
    • 10.1.1 リクエスト仕様
    • 10.1.2 正常時のレスポンス仕様
    • 10.1.3 バリデーションエラー時のレスポンス仕様
    • 10.1.4 リクエストクラスの作成
    • 10.1.5 バリデーションエラーメッセージの作成
    • 10.1.6 RESTコントローラーメソッドの作成
    • 10.1.7 例外ハンドラーメソッドの作成
    • 10.1.8 単体テスト
    • 10.1.9 結合テスト
    • 10.1.10 curlコマンドでのテスト
  • 10.2 アイドル情報の修正
    • 10.2.1 リクエスト仕様
    • 10.2.2 正常時のレスポンス仕様
    • 10.2.3 バリデーションエラー時のレスポンス仕様
    • 10.2.4 指定したIDが存在しない場合のレスポンス仕様
    • 10.2.5 RESTコントローラーメソッドの作成
    • 10.2.6 単体テスト
    • 10.2.7 結合テスト
    • 10.2.8 curlコマンドでのテスト
  • 10.3 アイドルの卒業
    • 10.3.1 リクエスト仕様
    • 10.3.2 正常時のレスポンス仕様
    • 10.3.3 指定したIDが存在しない場合のレスポンス仕様
    • 10.3.4 RESTコントローラーメソッドの作成
    • 10.3.5 単体テスト
    • 10.3.6 結合テスト
    • 10.3.7 curlコマンドでのテスト
  • 10.4 まとめ

第11章 Spring Securityで認証・認可を設定しよう

  • 11.1 認証・認可とは
  • 11.2 Spring Securityとは
  • 11.3 CookieとHttpSession
  • 11.4 本章で作成するアプリケーション
    • 11.4.1 概要
    • 11.4.2 作成物
    • 11.4.3 アプリケーションの構成
  • 11.5 必要な設定
    • 11.5.1 ライブラリの追加
    • 11.5.2 application.propertiesの設定
  • 11.6 ユーザー情報テーブルの作成
  • 11.7 セキュリティJava Configの作成
  • 11.8 セキュリティJava Configの注意点
  • 11.9 ユーザーを検索するリポジトリークラスの作成
  • 11.10 UserDetailsとUserDetailsServiceの作成
  • 11.11 ログイン画面の作成
  • 11.12 ThymeleafとSpring Securityの連携
  • 11.13 コントローラーメソッドでのユーザー情報の取得
  • 11.14 CSRF対策
  • 11.15 Web APIでのCSRF対策
  • 11.16 コントローラークラスの単体テスト
  • 11.17 ブラウザからの結合テスト
  • 11.18 Web APIのセキュリティの簡単な紹介
  • 11.19 まとめ

第12章 本書を読んだあとは何を勉強すればいい?

  • 12.1 ゼロからアプリケーションを作ってみよう
  • 12.2 Springの本でさらに知識を深めよう
  • 12.3 HTTPを知っておこう
  • 12.4 Webアプリケーションセキュリティを知っておこう
  • 12.5 サーブレットを知っておこう
  • 12.6 Springのソースコードを読んでみよう
  • 12.7 公式ドキュメントを読もう
  • 12.8 XのSpring公式アカウントをフォローしよう
  • 12.9 コミュニティの勉強会に参加しよう
  • 12.10 ブログや勉強会で学んだことを説明しよう
  • 12.11 低レイヤーの勉強をしよう

プロフィール

多田真敏ただまさとし

SIerでJavaによるシステム開発に従事したあと、研修トレーナーとしてSpring、Java EE(現Jakarta EE)、Kubernetesなどの研修を担当。現在は金融事業会社でSpringとAWSを利用し、システムの内製化に取り組んでいる。

個人では日本Javaユーザーグループ(JJUG)、日本Springユーザ会(JSUG)のスタッフとして、勉強会の企画・運営・登壇、OSSのドキュメント和訳も行っている(Thymeleaf、Resilience4j)。