• Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
Spring Data JPAの@MappedSuperclassと@Embeddableの違いを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがJPAのEntity設計を学ぶイラスト。

設計・テスト・レビュー

2026/10/15

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

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

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

設計・テスト・レビュー

2026/10/15

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

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

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

実装・エラー解決

2026/10/15

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

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

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

実装・エラー解決

2026/10/15

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

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

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

実装・エラー解決

2026/10/15

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

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

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

実装・エラー解決

2026/10/15

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/10/15

Spring Bootの@Validと@Validatedの違い|必須チェックが効かない原因と使い分け

AIによる要約Spring Bootの@Validと@Validatedは、通常の入力検証とグループ指定で使い分けます。特に「@Validated(CreateGroup.class)へ変えたら@NotBlankが効かない」場合は、共通制約のDefaultグループが検証対象に含まれているかを確認してください。登録・更新の入力例と実行結果で違いを確かめます。 Spring Bootで入力チェックを調べると、@Validと@Validatedの両方が出てきます。 普通のFormやRequest DTOを検証す ...

Spring BootのFormクラスとDTOの違いを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でクラスの役割分担を学ぶイラスト。

設計・テスト・レビュー

2026/10/15

Spring BootのFormとDTOの違い|Serviceへ渡すクラスを分ける判断

先に結論FormをServiceへ直接渡してよいかは、画面の入力契約とServiceの業務処理の契約が同じかで判断します。画面専用項目・型・検証ルールがずれる、APIやバッチからも同じ処理を呼ぶなら、Service用のDTO/Commandへ変換します。小さい機能で前提が一致している場合まで、名前だけを変えたクラスを機械的に増やす必要はありません。 FormをそのままServiceへ渡すとレビューで指摘された。でもDTOを作っても同じフィールドをコピーするだけに見える。この記事は、FormとDTOを分ける ...

Spring Bootの@ModelAttributeとFormに値が入る仕組みを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でフォーム連携を学ぶイラスト。

実装・エラー解決

2026/10/15

Spring Bootの@ModelAttributeとは?Formに値が入る仕組みと使い方

AIによる要約@ModelAttributeは、リクエストパラメータをFormクラスへ詰めたり、画面へ渡すモデル属性として扱ったりするために使われます。Thymeleafのフォームでは、Form名、フィールド名、Controllerの引数名がずれると値が入らない原因になります。 Spring MVCの画面フォームを触ると、@ModelAttributeというアノテーションが出てきます。 サンプルでは何となく動きますが、現場で入力値が入らない、エラー時に画面へ戻れない、初期表示でFormがない、という問題が ...

BindingResultの使い方と@Validの直後に置く理由を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で入力チェック結果を学ぶイラスト。

実装・エラー解決

2026/10/15

BindingResultの使い方と注意点|@Validの直後に置く理由

AIによる要約BindingResultは、@Validで検出した入力エラーをControllerで受け取るための引数です。重要なのは、@Validを付けたFormの直後に置くことです。順番を間違えると、期待通りにエラー処理できません。 Spring MVCで入力チェックを実装すると、@Validと一緒にBindingResultが出てきます。 新人のうちは、サンプルコードを写して動かすことはできても、なぜその順番で書くのかまでは分かりにくいです。この記事では、現場でよくレビューされる注意点に絞って整理し ...

« Prev 1 … 9 10 11 12 13 … 19 Next »
プロフィール画像

ポンコツPdM

SIerでの開発・プロジェクト運営の経験をもとに、Java・Springの実装、設計・テスト、チーム開発で役立つ手順をまとめています。

    START HERE初めての方へ

    Java・Springの実装、テスト、レビューで迷ったときに。今の課題から記事を探し、次に学ぶことを整理できます。

    成長ロードマップを見る →
    FIND YOUR TOPICよくある困りごと
    • エラー・実装で詰まったとき →
    • 設計・テスト・レビューを学ぶ →
    • 仕事・チーム開発で迷ったら →
    広告
    NEXT BOOKSHELF学習段階ごとの本棚

    いま伸ばしたい力に合わせて、次の1冊を選べます。

    • 01 / 初心者Java・Git・SQLの土台 →
    • 02 / 脱初心者Web機能をひとりで作る →
    • 03 / 実務担当設計・テスト・レビュー →
    • 04 / リーダー候補要件整理・チーム判断 →

    ※当サイトはAmazonアソシエイト・プログラムの参加者です。リンク先で価格・在庫をご確認ください。

    人気記事

    • Springで「NoUniqueBeanDefinitionException」が出たときの対策 - 49,473 ビュー
    • 業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1 - 46,933 ビュー
    • Spring Data Jpaと@Entityを使って複数テーブルで共通の値を親クラスにまとめて... - 43,227 ビュー
    • 免責事項
    • 著作権について
    • 学習ガイド
    • プライバシーポリシー
    • リンクについて

    学習と現場をつなぐ

    ポンコツPdMの開発メモ

    © 2026 ポンコツPdMの開発メモ