Spring実務の困りごとから読む本と順番を選ぶ記事のアイキャッチ。若手エンジニアがフォーム・サービス・DBの流れを書いたノートと技術書を確認するイラスト。

Spring 技術書・書評

Spring Boot初心者におすすめの本3冊|現場で必要な力を身につける

自分で作り、動く理由を説明し、確かめながら変更できるエンジニアへ。現場でその土台づくりに、初心者・若手へ実際に勧めている3冊です。

初めてSpring Bootでアプリを作るなら、まず『作って学ぶ Spring Boot入門』から。3冊を一度にそろえる必要はありません。アプリを作る中で残った疑問に応じて、ほかの2冊を選んでください。

この記事は、Java・HTML/CSS・SQLの基礎を学び、Spring Bootへ進む人を想定しています。学習ガイドではJava基礎 → クラス設計 → テスト → Spring Bootの順に、処理を書く・分ける・確かめる土台を作ってから、Webアプリにつなげます。

設計・テストの基礎をまだ学んでいない人は、末尾の「前の記事はこちら」から、テスト編とその前のクラス設計編に戻れます。Springを使わない短いJavaコードで確認してから、この記事の注文登録へ進んでください。

この記事でわかること

  • 現場で目指したいエンジニア像
  • コードを見て分からなかった箇所から、本を選ぶ方法
  • その知識を学ぶ本と、各書籍で身につけたい力

目指すのは、作った機能を説明し、確かめながら直せる人

作れる、説明できる、直せる。くり返して仕事の質を高めるサイクル 1、作れる。設計を形にする。2、説明できる。理由と判断を伝える。3、直せる。確かめて、よりよくする。矢印が3から1へ戻り、学びを次の仕事に生かしてサイクルをくり返す。 作れる 設計を形にする 説明できる 理由と判断を 伝える 直せる 確かめて、 よりよくする くり返して 仕事の質を高める
作ったものを説明し、確かめて直す。
その学びを、次の仕事に生かす。

このサイクルを回すために、どの知識を補えばよいか。まず注文登録のコードを読み、分からなかったところから、本を選んでいきます。

コードを読んで、分からなかったところから本を選ぶ

まず、下の要求・応答の例と、GitHubのController・Serviceを見てみてください。3つとも分からなければ、最初の1冊は『作って学ぶ Spring Boot入門』です。すでにアプリを作ったことがある人は、分からなかった箇所から補う本を選べます。

当ブログの注文登録サンプル

入力を受け取り、注文を保存して在庫を確保する

Controllerで入力を受け取り、Serviceで注文保存と在庫確保を行います。Controllerから読み、呼び出しているServiceへ進んでみてください。

このAPIに送る内容と、返ってくる応答

送信先は POST /orders、データ形式は application/json です。在庫が5個ある状態で、注文個数(quantity)を送ったときの例です。

  • 数量2を送る{"quantity":2}→ 201 Created(登録成功)
  • 数量0を送る{"quantity":0}→ 400 Bad Request(入力エラー)

入力ごとの応答とDBの結果を確かめるテストも読めます。実行する場合はJava 17・Maven 3.9以上を用意してください。

  1. ControllerとServiceが、どうつながるのか分からなかった

    Controllerが受け取った数量を、Serviceへ渡して保存する。このつながりを追うのが難しかったら、まずWebアプリを一通り作りながら、各処理の役割を学びます。

    『作って学ぶ Spring Boot入門』で補う内容を見る
  2. APIの呼び出し方や、201・400の意味が分からなかった

    上の例にあるPOST・JSON・201・400が、通信の中でどんな役割を持つのか。このやり取りを説明しづらかったら、HTTPの要求と応答の意味を学びます。

    『Webを支える技術』で補う内容を見る
  3. 削除する処理がないのに、注文が取り消される理由が分からなかった

    このサンプルでは、注文保存後に在庫不足の例外が出ると、その注文はDBに残りません。削除処理がないのになぜ取り消されるのか、@Transactionalと例外の関係を知りたい人は、Springが更新を一組として扱う仕組みを学びます。

    『Spring徹底入門 第2版』で補う内容を見る Spring Framework 5向け。仕組みを学ぶ参考書として紹介しています。

『作って学ぶ Spring Boot入門』で、機能を一通り作る土台を得る

書籍「作って学ぶ Spring Boot入門」の表紙
商品画像:Amazon.co.jp
PR Java新人・若手向け

作って学ぶ Spring Boot入門

多田 真敏 (著)

Spring Bootを、動くWebアプリを作りながら覚える。

Controller、画面、DB連携などを一つのアプリとして実装できます。Java基礎からSpringの現場へ進む橋渡しに向く一冊です。

  • Spring Bootを手を動かして学びたい
  • Webアプリ開発の流れをつかみたい

当サイトはAmazonアソシエイト・プログラムの参加者です。価格・在庫・配送条件はAmazonでご確認ください。

Java・HTML/CSS・SQLの基礎を学び、Spring Bootへ進む人に、現場で最初の1冊として勧めている本です。画面、入力処理、DB操作を一つのアプリとしてつかめるため、仕事のコードを読むための足場になります。

この本で学ぶこと
Spring Bootを使ったWebアプリの基本、DI、DBアクセスと更新、画面表示、入力チェックを学びます。個々の機能が、入力から結果を返す流れのどこにあるかを整理します。
ここで得たいこと
小さな登録・検索機能を作り、入力した値がどの処理を通って保存・表示されるかを説明できる状態を目指します。自分で項目を一つ変え、必要な変更箇所を追えることが次の足場です。
次に埋めること
Springの書き方が分かっても、ブラウザとサーバーがどんな約束でやり取りしているかは別の理解です。その土台を『Webを支える技術』で補います。

『Webを支える技術』で、通信を説明する土台を得る

書籍「Webを支える技術」の表紙
商品画像:Amazon.co.jp
PR Web開発に入る新人向け

Webを支える技術

山本 陽平 (著)

HTTP・URI・RESTを、Webアプリ開発の土台から理解する。

RequestParamやRequestBodyの暗記だけでは見えにくい、Web通信の基本原則を整理できます。

  • HTTPの仕組みから理解したい
  • RESTやURIの設計意図を学びたい

当サイトはAmazonアソシエイト・プログラムの参加者です。価格・在庫・配送条件はAmazonでご確認ください。

アプリを作る経験に、Webの仕組みを説明する視点を足す本です。画面やAPIの不具合を調べるとき、フロント担当や別チームと、送った内容・返ってきた結果をそろえて話すために勧めています。

この本で学ぶこと
HTTP、URI、RESTなど、Webの通信と設計の考え方を学びます。URL、メソッド、ヘッダ、送信する値、ステータスコードを、互いにつながるものとして理解します。
ここで得たいこと
「この画面から何を送って、サーバーが何を返したか」を説明できる状態を目指します。エラーが出たときも、送信した内容と応答を見て、調査する範囲を整理する土台になります。
次に埋めること
通信の約束が分かっても、Springが処理を組み立てる仕組みや、DB更新をどこまで一組にするかは残ります。アプリ内部を理解するために、Springの詳しい仕組みを補います。

送料のテストでは、入力した金額から何円を返すかを確認しました。注文APIでは、HTTPの応答に加えて、保存の結果も確認します。在庫5個から始め、数量2の POST /orders なら201・注文1件・在庫3個。初期状態から数量0を送った場合は400・注文0件・在庫5個です。上のサンプルの OrderFlowTest を読むと、応答とDBを別々に確認している箇所を追えます。

『Spring徹底入門 第2版』で、変更の根拠を持つ

書籍「Spring徹底入門 第2版」の表紙
商品画像:Amazon.co.jp
PR 入門後の参考書|Spring Framework 5向け

Spring徹底入門 第2版

株式会社NTTデータ (著), 株式会社NTTデータグループ (編集)

アプリを作った後に、DIやDB更新の仕組みを調べる。

DI、MVC、データアクセス、テスト、セキュリティまで幅広く確認できます。小さなWebアプリを一通り作り、Springの仕組みを詳しく学びたい人に向く参考書です。

  • Springで小さなWebアプリを作ったことがある
  • DIやトランザクションの仕組みを確認したい

Spring Framework 5向けです。Boot 3の実装に使うコード・設定は、採用している版の公式資料と照合してください。

当サイトはAmazonアソシエイト・プログラムの参加者です。価格・在庫・配送条件はAmazonでご確認ください。

Springで小さなアプリを一通り作った後に、設定や処理の仕組みを調べるための参考書です。「この依存関係や更新の範囲でよいのか」を考える土台として紹介しています。

この本で学ぶこと
DI・AOP・データアクセス・トランザクションなど、Springがアプリを支える仕組みを学びます。処理同士のつながりと、DB更新を一組として扱う考え方を深めます。
ここで得たいこと
呼び出し経路やDB更新の範囲を確認し、設定・変更の理由を説明できる状態を目指します。受注保存と在庫引当の一方が失敗したときに、何が残るべきかを考える土台です。
次に埋めること
Javaで学んだ処理の分け方とテストを、Webアプリでも使います。たとえば注文保存と在庫確保を同じ更新単位にする理由を説明し、在庫不足なら注文が残らないことをテストで確かめます。自分の実装での検証とレビューを重ねましょう。

まとめ

これからSpring Bootを始める人も、3つとも分からなかった人も、まず『作って学ぶ Spring Boot入門』を1冊選んでください。その後、通信のやり取りを理解したくなったら『Webを支える技術』、アプリを作った経験をもとにDIやDB更新の仕組みを詳しく調べたくなったら『Spring徹底入門 第2版』へ。今の学習に必要な1冊から進めましょう。

-Spring, 技術書・書評
-, , , , ,