ポンコツPdM

プロフィール画像

独立系のSIerに務めるSE,PM。 仕事の上で得たIT関連やプロジェクト運営関連の知識を書きます。 使用技術:Java,ウェブ関連全般,データベース全般 (どれも広く浅く)

Spring Bootの@GetMappingと@PostMappingの違いを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがGETとPOSTの使い分けを学ぶイラスト。

実装・エラー解決

2026/9/6

Spring Bootの@GetMappingと@PostMappingの違い|@RequestMappingとの使い分け

AIによる要約@GetMappingは一覧表示や詳細表示など、基本的にサーバーの状態を変更しない取得処理へ使います。@PostMappingは登録、申請、ファイル取込など、状態を変更する処理へ使います。@RequestMappingはController全体の共通パスや、HTTPメソッド以外の条件も含めて指定するときに使います。削除をGETで実装せず、成功後はredirectすることが現場で重要な確認点です。 Spring BootのControllerでは、@GetMappingと@PostMappin ...

Thymeleafで入力エラー後にFormの値が消える原因を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがFormとBindingResultを確認するイラスト。

実装・エラー解決

2026/9/6

Thymeleafで入力エラー後にFormの値が消える原因|th:fieldとBindingResultを確認

AIによる要約Thymeleafで入力エラー後に値が消えるときは、th:objectとth:field、@Validの直後にあるBindingResult、エラー時にredirectしていないかを確認します。テキスト値が残っていても、プルダウンの選択肢一覧を再設定していないため画面が崩れることもあります。まずは「Form」「エラー情報」「画面表示用データ」の3つが再表示時に揃っているかを切り分けます。 登録画面で入力エラーが起きたとき、利用者が入力した内容は残したまま、該当項目の近くにエラーメッセージを表 ...

Javaの例外クラス名の付け方を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアが業務例外とシステム例外の命名を考えるイラスト。

設計・テスト・レビュー

2026/9/6

Javaの例外クラス名はどう付ける?業務例外とシステム例外の命名ルール

AIによる要約例外クラス名は、どの処理で落ちたかではなく、何が成立しなかったかを表すと使いやすくなります。業務ルール違反にはInsufficientStockExceptionのような具体名を、外部APIやDBなど技術的な失敗にはExternalApiTimeoutExceptionのような原因が分かる名前を付けます。BusinessExceptionやSystemExceptionだけで済ませず、呼び出し側が判断できる粒度を残すことが重要です。 業務システムでは、在庫不足、二重申請、締め日超過、外部AP ...

Spring Data JPAの@MappedSuperclassと@Embeddableの違いを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがJPAのEntity設計を学ぶイラスト。

設計・テスト・レビュー

2026/9/6

Spring Data JPAの@MappedSuperclassと@Embeddableの違い|共通項目をどこへまとめる?

AIによる要約@MappedSuperclassは、作成日時や更新日時のようなEntity共通のマッピングを継承させる仕組みです。@Embeddableは、住所や金額のような意味のある値を、所有Entityの一部として組み込む仕組みです。単なる重複削減ではなく、「Entityとして共通の性質か」「独立した値のまとまりか」で使い分けます。 JPAでEntityを増やすと、ID、作成日時、更新日時、住所、担当者コードなど、似たフィールドが繰り返し登場します。重複を減らすために親クラスへまとめたくなりますが、す ...

JavaのServiceが肥大化した時にクラスを分ける基準を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアが設計を考えるイラスト。

設計・テスト・レビュー

2026/9/6

Javaでクラスを分ける基準は?Serviceが肥大化した時の分割例

AIによる要約クラスは行数だけで分けるのではなく、変更理由と責務で分けます。Serviceが入力変換、金額計算、在庫確認、保存、通知まで抱えたら、業務計算や外部連携を独立させる候補です。一方、処理を1行ずつ別クラスへ移すと流れが追いにくくなります。Serviceにはユースケースの進行とトランザクション境界を残し、独立して説明・テストできる責務を切り出します。 新人が既存システムへ機能追加すると、Serviceクラスへ処理を足すことがよくあります。最初は登録だけだったServiceへ、割引計算、在庫確認、メ ...

Spring Bootの@RequestParamとFormクラスの違いを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で入力値の受け取り方を学ぶイラスト。

実装・エラー解決

2026/9/6

Spring Bootの@RequestParamとFormクラスの違いは?使い分けを解説

AIによる要約@RequestParamは単発の値を受け取るときに便利です。一方、Formクラスは画面入力や検索条件のように複数項目を1つの入力として扱いたいときに向いています。迷ったら、値が業務上ひとまとまりかどうかで判断します。 Spring BootのControllerを書き始めると、@RequestParamで値を受け取る書き方と、Formクラスでまとめて受け取る書き方の両方が出てきます。 初学者が迷うのは、どちらでも動いてしまう場面があるからです。動くかどうかだけで決めると、あとで入力項目が増 ...

JavaのList.containsがfalseになる原因を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがListとequalsの関係を学ぶイラスト。

実装・エラー解決

2026/9/6

JavaのList.containsがfalseになる原因|equalsを実装しても見つからない時の確認点

AIによる要約List.containsは、見た目やフィールド値を自動で比べるのではなく、要素との同値判定で一致を探します。自作クラスでequalsを実装していない、比較項目が違う、型や文字列が揃っていない場合は、値があるように見えてもfalseになります。デバッガで全項目を見る前に、何を同じとみなすクラスなのかを確認することが近道です。 業務システムでは、取得済みのユーザー一覧に対象ユーザーが含まれるか、選択済み明細に同じ商品があるか、といった確認でList.containsを使います。StringやI ...

Spring Bootの@Qualifierと@Primaryの違いを解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがDIとBeanの使い分けを考えているイラスト。

実装・エラー解決

2026/9/6

Spring Bootの@Qualifierと@Primaryの違いは?Beanが複数ある時の使い分け

AIによる要約@Primaryは同じ型のBeanが複数ある時の標準候補を決め、@Qualifierは注入先ごとに候補を明示します。アプリ全体で通常使う実装が1つなら@Primary、業務ごとに実装を選び分けるなら@Qualifierが基本です。エラーを消すためだけでなく、どの実装を使う設計なのかをコードで説明できることが重要です。 Spring Bootでは、ControllerやServiceが必要とするオブジェクトをDIコンテナから注入できます。実装が1つなら型だけで候補を決められますが、同じインター ...

Spring Bootの入力値をどこで受けるかを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でControllerの引数を学ぶイラスト。

実装・エラー解決

2026/9/6

Spring Bootの入力値はどこで受ける?@RequestParam・@PathVariable・@RequestBodyの使い分け

AIによる要約Spring Bootの入力値は、URLの一部なら@PathVariable、クエリ文字列なら@RequestParam、JSONボディなら@RequestBody、HTMLフォームならFormクラスで受けるのが基本です。値がどこから来るかを見ると迷いにくくなります。 Spring BootのControllerでは、リクエストから値を受け取る方法が複数あります。 現場のコードを読むと、@RequestParam、@PathVariable、@RequestBody、@ModelAttrib ...

Spring Bootの@Validと@Validatedの違いを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で入力チェックを学ぶイラスト。

実装・エラー解決

2026/9/6

Spring Bootの@Validと@Validatedの違いは?入力チェックの使い分け

AIによる要約@ValidはBean Validation標準の入力チェック、@ValidatedはSpringが提供する検証用アノテーションです。初学者はまずFormやRequest DTOに@Validを使い、グループバリデーションやメソッド引数の検証が必要なときに@Validatedを検討すると整理しやすいです。 Spring Bootで入力チェックを調べると、@Validと@Validatedの両方が出てきます。 どちらも入力チェックに関係するため、初学者は違いが分からず、プロジェクト内で何となく ...