自分で作り、動く理由を説明し、確かめながら変更できるエンジニアへ。現場でその土台づくりに、初心者・若手へ実際に勧めている3冊です。
作って学ぶ Spring Boot入門画面・DB・入力チェックまで、一つのアプリを作りながら学ぶ。学ぶこと・得たい力を見る ↓ 必要に応じて|通信を理解する
Webを支える技術ブラウザとサーバーが、何をやり取りしているかを理解する。学ぶこと・得たい力を見る ↓ 入門の後に|仕組みを調べる
Spring徹底入門 第2版DIやDB更新の仕組みを調べる。Spring Framework 5向け。学ぶこと・得たい力を見る ↓初めてSpring Bootでアプリを作るなら、まず『作って学ぶ Spring Boot入門』から。3冊を一度にそろえる必要はありません。アプリを作る中で残った疑問に応じて、ほかの2冊を選んでください。
この記事は、Java・HTML/CSS・SQLの基礎を学び、Spring Bootへ進む人を想定しています。学習ガイドではJava基礎 → クラス設計 → テスト → Spring Bootの順に、処理を書く・分ける・確かめる土台を作ってから、Webアプリにつなげます。
設計・テストの基礎をまだ学んでいない人は、末尾の「前の記事はこちら」から、テスト編とその前のクラス設計編に戻れます。Springを使わない短いJavaコードで確認してから、この記事の注文登録へ進んでください。
この記事でわかること
- 現場で目指したいエンジニア像
- コードを見て分からなかった箇所から、本を選ぶ方法
- その知識を学ぶ本と、各書籍で身につけたい力
目指すのは、作った機能を説明し、確かめながら直せる人
その学びを、次の仕事に生かす。
このサイクルを回すために、どの知識を補えばよいか。まず注文登録のコードを読み、分からなかったところから、本を選んでいきます。
コードを読んで、分からなかったところから本を選ぶ
まず、下の要求・応答の例と、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以上を用意してください。
ControllerとServiceが、どうつながるのか分からなかった
Controllerが受け取った数量を、Serviceへ渡して保存する。このつながりを追うのが難しかったら、まずWebアプリを一通り作りながら、各処理の役割を学びます。
『作って学ぶ Spring Boot入門』で補う内容を見るAPIの呼び出し方や、201・400の意味が分からなかった
上の例にあるPOST・JSON・201・400が、通信の中でどんな役割を持つのか。このやり取りを説明しづらかったら、HTTPの要求と応答の意味を学びます。
『Webを支える技術』で補う内容を見る削除する処理がないのに、注文が取り消される理由が分からなかった
このサンプルでは、注文保存後に在庫不足の例外が出ると、その注文はDBに残りません。削除処理がないのになぜ取り消されるのか、
『Spring徹底入門 第2版』で補う内容を見る Spring Framework 5向け。仕組みを学ぶ参考書として紹介しています。@Transactionalと例外の関係を知りたい人は、Springが更新を一組として扱う仕組みを学びます。
『作って学ぶ Spring Boot入門』で、機能を一通り作る土台を得る
作って学ぶ 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を支える技術
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版
アプリを作った後に、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冊から進めましょう。
