第章

序章 ― Spring Boot 3.5 が拓く “クラウド標準 Java” の現在地

序章 ― Spring Boot 3.5 が拓く “クラウド標準 Java” の現在地 0‑1 本書の目的 本書は Spring Boot 3.5 を軸に、モノリスからマイクロサービス、コンテナ/サーバーレス、そして将来の Project Leyden に至るまで—— 「現代 Java アプリケーションが備えるべき機能すべて」 を一冊で体系化することを目指します。 公式ドキュメントの網羅性と、現場で鍛え上げられたベストプラクティスの両輪を融合し、 ゼロから学ぶ開発者 が “最短3ステップ” で Hello World をデプロイできる。 既に運用中のチーム が「移行・運用・観測・最適化」の知識ギャップを 30 分で埋められる。 ——そんな “実践&逆引きハイブリッド” のリファレンスを提供します。...
第章

第 1 章 Spring Boot とは何か

第 1 章 Spring Boot とは何か 1-1 プロジェクトの使命と歴史 1-1-1 誕生の背景 Spring Boot は「スタンドアロンで本番運用可能な Spring アプリケーションを最小構成で“just run”できるようにする」という思想の下、2014 年に誕生しました。Spring に詳しくない開発者でも短時間でクラウドや PaaS へデプロイできる――そんな“container-less web application architecture” への要求が JIRA チケットに寄せられたことがきっかけです。(spring.io) 1-1-2 公式ミッションと主要ゴール 公式サイトではミッションと“Primary goals”が明文化されています。 Radically faster on-boarding :...
第章

第 2 章 バージョン体系とライフサイクル

第 2 章 バージョン体系とライフサイクル 2‑1 リリース列車とサポート期間 2‑1‑1 バージョニング規則 Spring Boot は MAJOR.MINOR.PATCH 方式を採用します。 数字 役割 例 互換性指針 MAJOR 大規模仕様変更・下位互換の破壊 2 → 3 Jakarta EE 9 への移行など大掛かりな変更が入るため追加作業が必要 MINOR 機能追加・非破壊の改善 3.4 → 3.5 API の追加や依存バージョン更新。Deprecated API は残るが将来削除され得る PATCH バグ修正・微小改善 3.5.0 → 3.5.1 下位互換を壊さない緊急修正・CVE 対応 2‑1‑2 リリースの cadence...
第章

第 3 章 セットアップとプロジェクト作成

第 3 章 セットアップとプロジェクト作成 対象バージョン : Spring Boot 3.5.0(Java 17+ が必須) 3‑1 Spring Initializr でのプロジェクト生成 3‑1‑1 Web UI(start.spring.io)の基本操作 ブラウザで https://start.spring.io を開く。 Project に Maven または Gradle、Language に Java/Kotlin を選択。 Spring Boot バージョンで 3.5.0 を指定。 Dependencies に Spring Web, Actuator, Testcontainers などを追加。...
第章

第 4 章 自動設定とスターター

第 4 章 自動設定とスターター (Spring Boot 3.5 系・Java 17+ を前提) 4‑1 Auto‑configuration の仕組み 4‑1‑1 手動設定を“ゼロ”へ近づける発想 従来は @Configuration + XML/JavaConfig で大量の Bean を宣言していました。Auto‑configuration は クラスパス と 環境プロパティ を調べ、「必要そうな Bean を条件付きで用意する」ことで設定工数を極小化します。 (docs.spring.io) 4‑1‑2 検出フロー @SpringBootApplication 内の @EnableAutoConfiguration が起点。 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports が読み取られ、候補クラスが ImportSelector...
第章

第 5 章 データ永続化 ― JPA・Spring Data・R2DBC

第 5 章 データ永続化 ― JPA・Spring Data・R2DBC (Spring Boot 3.5 GA・Java 17+ 前提) 5‑1 JPA クイックスタート 5‑1‑1 基本セットアップ Spring Boot で JPA を利用するには spring-boot-starter-data-jpa を依存に追加するだけで、Hibernate・HikariCP・Transaction Manager が自動設定されます。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId>...
第章

第 6 章 Web アプリ開発 ― Spring MVC/WebFlux/HTTP クライアント

第 6 章 Web アプリ開発 ― Spring MVC/WebFlux/HTTP クライアント (Spring Boot 3.5 GA・Java 17+ 前提) 5‑1 Spring MVC ― テンプレート & 従来型サーブレットスタック 5‑1‑1 最小構成と自動設定 spring-boot-starter-web を依存に追加すると、DispatcherServlet・Jackson・Thymeleaf/Mustache の各 Bean が自動登録される。(spring.io) コントローラは最上位パッケージ配下に配置し、@GetMapping 等で URL を割り当てる。 @Controller class HomeController { @GetMapping("/") String index(Model model)...
第章

第 7 章 運用・モニタリング

第 7 章 運用・モニタリング (Spring Boot 3.5 GA・Micrometer 1.14 系を前提) 6‑1 Actuator 基本 ― “Production‑ready” 機能群 6‑1‑1 Actuator を有効にする 依存に spring-boot-starter-actuator を追加すると 30 以上の組み込みエンドポイントが登録される。 デフォルトで HTTP へ公開されるのは health のみ。その他は management.endpoints.web.exposure.include=* などで明示的に公開する (docs.spring.io)。 management: endpoints: web: exposure: include: health,info,prometheus 6‑1‑2 エンドポイント一覧(抜粋) ID...
第章

第 8 章 コンテナ化とネイティブビルド

第 8 章 コンテナ化とネイティブビルド (Spring Boot 3.5 GA ― Buildpacks v0.20 系/GraalVM 24.1 CE を前提) 7‑1 Cloud Native Buildpacks で OCI イメージを生成する 7‑1‑1 Buildpacks の役割とメリット Cloud Native Buildpacks(CNB)は、ソースコードから Dockerfile を書かずに OCI 準拠イメージを構築する OSS 仕様で、ライフサイクル(analyzer→builder→exporter など5フェーズ)が標準化されている。これにより イメージサイズの最適化(層の再利用) 非 root 実行・SBOM 生成・CVE 修正の自動取り込み アプリ開発者とプラットフォーム運用者の責務分離 といった利点を得られる。 7‑1‑2 spring‑boot:build-image/bootBuildImage の基本...
第章

第 9 章 セキュリティ統合 ― Spring Security 6.5 と Spring Boot 3.5

第 9 章 セキュリティ統合 ― Spring Security 6.5 と Spring Boot 3.5 (Java 17+/Jakarta EE 10 前提) 8‑1 spring‑boot‑starter‑security がもたらす既定動作 挙動 内容 解除・変更方法   すべての HTTP エンドポイントを保護 未認証アクセスは 401/302 を返す authorizeHttpRequests DSL で permitAll() 定義   ログインフォームまたは Basic 認証 コンテンツネゴシエーションに従い /login...
第章

第 10 章 テスト手法 — Spring Boot 3.5 時代の “確かな品質ゲート”

第 10 章 テスト手法 — Spring Boot 3.5 時代の “確かな品質ゲート” 9‑1 単体テストの基本 9‑1‑1 spring‑boot‑starter‑test の内訳 Boot 3.5 の spring‑boot‑starter‑test は次の主なライブラリを同梱します。 JUnit Jupiter 5.11.x – 標準テストエンジン AssertJ 3.25+ – Fluent 断言 API Hamcrest 2.2 – マッチャ DSL Mockito 5.11 – モック生成/スタブ JsonPath / Jackson‑Databind...
第章

第 11 章 ベストプラクティス集

第 11 章 ベストプラクティス集 (対象バージョン : Spring Boot 3.5 GA/Java 17+) 10‑1 プロファイル戦略 ― 「環境差分」をコードレスに封じ込める 10‑1‑1 3層プロファイルモデル レイヤー 役割 代表例 ベース 全環境共通のデフォルト default (暗黙) ファンクション 目的別の ON/OFF metrics, kafka, debug 環境 実行基盤ごと local, test, stg, prod アプリ起動時に local,metrics のような 複合指定...
第章

第 12 章 付録 ― 逆引きリファレンス集

第 12 章 付録 ― 逆引きリファレンス集 11‑1 主要 application.properties/application.yaml 早見表 カテゴリ プロパティ 既定値 解説 コアサーバー server.port 8080 HTTP リスンポート   server.shutdown IMMEDIATE GRACEFUL に変更で Graceful Shutdown データソース spring.datasource.url なし JDBC 接続 URL   spring.sql.init.mode embedded...
第章

あとがき — “学びをコードへ、価値をプロダクトへ”

あとがき — “学びをコードへ、価値をプロダクトへ” A‑1 本書を閉じる前に ここまで 序章+12 章 にわたり、Spring Boot 3.5 を中心としたエコシステムを 「開発 → 運用 → 観測 → 最適化」 のライフサイクルで体系的に探究してきました。 章 キーコンセプト 1 – 2 章 歴史・バージョン・サポートポリシーを押さえ、“長く使える軸” を確立 3 – 6 章 雛形生成・Auto‑config・MVC/WebFlux・HTTP クライアントでアプリの 骨格 を構築 7 – 8 章...

学習の進め方

このガイドは以下の順序で学習することを推奨します:

1. 基礎理解

序章〜第3章で Spring Boot の概念と環境セットアップを学習

2. 機能習得

第4章〜第8章で自動設定、データアクセス、Web開発の実践

3. 本格運用

第9章〜第13章でセキュリティ、テスト、デプロイメントを学習