コース一覧
Spring Boot入門
アノテーションによる検証

Spring Boot入門

Java で Web API サーバーを作るための Spring Boot の入門コースです。DI コンテナ、REST コントローラ、リクエスト検証、レイヤ分割、Spring Data JPA、例外ハンドリング、テストまでを扱います。毎レッスン、Spring が裏側でやっている判断そのものを pure Java の関数として自分で書き、フレームワークが何を肩代わりしてくれているのかを手触りで理解できる構成にしました。約 12 時間 (1 日 30 分 × 24 日) で 48 レッスンを修了できます。

1
Spring Bootとは何か
01. Spring Bootで何が作れるのか10分
02. サーブレットからフレームワークへ15分
03. ルーティング表という発想15分
04. プロジェクトの構成10分
05. 起動のしくみと自動設定15分
06. パスのマッチング15分
2
DIコンテナ
01. newで書くと何が困るのか15分
02. コンストラクタインジェクション15分
03. インターフェースへの依存15分
04. @Componentと@Bean15分
05. 自作のDIコンテナ20分
06. Beanのスコープとライフサイクル15分
3
RESTコントローラ
01. RESTという設計方針15分
02. @RestControllerの役割15分
03. @GetMappingとパス変数15分
04. クエリパラメータの受け取り15分
05. @PostMappingとリクエストボディ15分
06. ステータスコードの選び方15分
07. ResponseEntityで組み立てる15分
4
リクエストとレスポンスの変換
01. JSONとオブジェクトの往復15分
02. DTOとエンティティを分ける15分
03. recordでDTOを書く15分
04. 入力検証の基本15分
05. 検証エラーをまとめて返す15分
06. アノテーションによる検証15分
5
レイヤ構成とビジネスロジック
01. 3層アーキテクチャ10分
02. @Serviceに置くもの15分
03. 状態遷移をルールにする15分
04. 料金計算のような業務ロジック15分
05. @Transactionalとは何か15分
06. トランザクションの巻き戻し15分
6
データアクセス
01. @Entityとテーブルの対応15分
02. リポジトリという抽象15分
03. メソッド名からクエリを作る20分
04. 検索条件の組み立て15分
05. ページングと並び替え15分
06. N+1問題15分
7
例外処理と横断的関心事
01. 例外をHTTPに変換する15分
02. @ExceptionHandlerと@ControllerAdvice15分
03. エラーレスポンスの形を決める15分
04. フィルタとインターセプタ15分
05. ログとリクエストの追跡15分
06. 設定値の外部化15分
8
テストと仕上げ
01. テストの種類と使い分け15分
02. Serviceの単体テスト15分
03. モックで依存を差し替える15分
04. MockMvcでエンドポイントを試す15分
05. 本番へ出すための次の一歩10分

Spring Boot入門

01Spring Bootで何が作れるのか
02サーブレットからフレームワークへ
03ルーティング表という発想
04プロジェクトの構成
05起動のしくみと自動設定
06パスのマッチング
07newで書くと何が困るのか
08コンストラクタインジェクション
09インターフェースへの依存
10@Componentと@Bean
11自作のDIコンテナ
12Beanのスコープとライフサイクル
13RESTという設計方針
14@RestControllerの役割
15@GetMappingとパス変数
16クエリパラメータの受け取り
17@PostMappingとリクエストボディ
18ステータスコードの選び方
19ResponseEntityで組み立てる
20JSONとオブジェクトの往復
21DTOとエンティティを分ける
22recordでDTOを書く
23入力検証の基本
24検証エラーをまとめて返す
25アノテーションによる検証
263層アーキテクチャ
27@Serviceに置くもの
28状態遷移をルールにする
29料金計算のような業務ロジック
30@Transactionalとは何か
31トランザクションの巻き戻し
32@Entityとテーブルの対応
33リポジトリという抽象
34メソッド名からクエリを作る
35検索条件の組み立て
36ページングと並び替え
37N+1問題
38例外をHTTPに変換する
39@ExceptionHandlerと@ControllerAdvice
40エラーレスポンスの形を決める
41フィルタとインターセプタ
42ログとリクエストの追跡
43設定値の外部化
44テストの種類と使い分け
45Serviceの単体テスト
46モックで依存を差し替える
47MockMvcでエンドポイントを試す
48本番へ出すための次の一歩

アノテーションによる検証

クイズ1

次の UserRequest に name として空文字列 "" が送られてきました。検証はどうなりますか。

Java

public class UserRequest { @NotNull private String name; }

クイズ2

半角スペース3つだけの文字列 " " を弾きたいとき、フィールドに付けるべきアノテーションはどれですか。

クイズ3

年齢を 0 以上 150 以下に制限したいとき、正しい書き方はどれですか。

クイズ4

@Email が付いたフィールドに null が入っていました。検証はどうなりますか。

クイズ5

UserRequest のフィールドには @NotBlank や @Size が正しく付いています。次のコントローラに空の name を送るとどうなりますか。

Java

@PostMapping("/users") public String create(@RequestBody UserRequest req) { return "created"; }

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。