若手SEを救いたい社畜

プロフィール画像

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

@RequestParamが多すぎる時のController引数整理を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で検索条件のまとめ方を学ぶイラスト。

Spring

2026/7/9

@RequestParamが多すぎる時はどうする?Controller引数の整理方法

AIによる要約@RequestParamが増えすぎたControllerは、読みづらく、修正漏れも起きやすくなります。検索条件や入力項目がひとまとまりなら、Formクラスや検索条件クラスへまとめることを検討します。ただし、何でもまとめればよいわけではなく、関連する値だけをまとめるのが大事です。 検索画面や一覧画面を作っていると、Controllerの引数に@RequestParamがどんどん増えることがあります。 最初は2個だった条件が、名前、ステータス、日付範囲、担当者、ページ番号と増えていき、気づくと ...

Spring Bootの入力チェックをどこでやるかを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でControllerとServiceの役割を学ぶイラスト。

Spring

2026/7/9

Spring Bootの入力チェックはどこでやる?ControllerとServiceの役割

AIによる要約入力チェックは、すべてControllerでif文を書くものではありません。必須、桁数、形式のようなチェックはFormやRequest DTOのBean Validationに寄せ、重複確認、権限、状態遷移のような業務ルールはServiceで判断する、と分けると現場コードが読みやすくなります。 Spring Bootで登録画面やAPIを作ると、入力チェックをどこに書くかで迷います。 Controllerで全部if文を書く、Formのアノテーションだけに任せる、Serviceでまとめて見るなど ...

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

Spring

2026/7/9

Spring Bootの@RequestBodyとは?JSONを受け取る使い方と注意点

AIによる要約@RequestBodyは、HTTPリクエストのボディに入っているJSONをJavaオブジェクトへ変換して受け取るために使います。クエリ文字列やHTMLフォームを受けるためのものではありません。APIの入口ではRequest DTOとセットで考えると安全です。 Spring BootでAPIを作ると、@RequestBodyがよく出てきます。 画面フォーム中心の開発から入った人は、@RequestParamやFormクラスとの違いが分からず、JSONがnullになる、400エラーになる、とい ...

Spring BootのServiceに業務ロジックを書く理由を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でServiceの責務を学ぶイラスト。

Spring

2026/7/8

Spring BootのServiceに業務ロジックを書く理由

AIによる要約Spring BootのServiceは、業務処理やユースケースを表す中心的な場所です。Controllerに業務ロジックを書くと入口ごとに処理が散らばります。Serviceに寄せることで、再利用しやすく、テストしやすく、トランザクション境界も考えやすくなります。 Spring Bootの現場でよく言われるのが「業務ロジックはServiceに書きましょう」という話です。 ただ、初学者にとっては、Controllerに書いても動くのに、なぜServiceへ移す必要があるのか分かりにくいかもしれ ...

Spring

2026/7/8

Spring Bootの@Transactionalはどこに付ける?

AIによる要約Spring Bootの@Transactionalは、基本的にRepositoryではなく、業務処理のまとまりを表すServiceメソッドに付けることが多いです。どこからどこまでを1つの更新単位にするかを決めるためのアノテーションであり、何となく付けるものではありません。 Spring BootでDB更新を扱うと、@Transactionalというアノテーションが出てきます。 初学者は、とりあえずRepositoryや更新メソッドに付ければよいと考えがちですが、現場では「どこからどこまでを ...

Spring BootのDTO変換はどこでやるべきかを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でDTOとEntityの変換を学ぶイラスト。

Spring

2026/7/8

Spring BootのDTO変換はどこでやるべきか

AIによる要約Spring BootのDTO変換は、必ずController、必ずServiceと決まるものではありません。大事なのは、Entityを外へ直接出さず、画面/API用の形に変換することです。単純な変換はControllerやService、複雑な変換はMapperへ分けると読みやすくなります。 Spring Bootの現場では、Entityをそのまま画面やAPIに返さず、DTOへ変換することが多いです。 しかし、DTO変換をどこに書くかは初学者が迷いやすいポイントです。Controllerに ...

Spring BootのRepositoryでよくある戻り値の扱いを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でOptionalやListを学ぶイラスト。

Spring

2026/7/8

Spring BootのRepositoryでよくある戻り値の扱い

AIによる要約Spring BootのRepositoryでは、Optional、List、単一Entityなど戻り値の扱いでレビューされることがあります。大事なのは、0件、1件、複数件を想定し、get()で雑に取り出さないことです。検索条件不足もあわせて確認します。 Spring Data JPAを使うと、Repositoryのメソッドを簡単に作れます。findByIdやfindByEmailのようなメソッド名だけで検索できるため便利です。 一方で、戻り値の扱いを雑にすると、NoSuchElementE ...

Spring BootのControllerでやってはいけないことを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でControllerとServiceの責務分離を学ぶイラスト。

Spring

2026/7/8

Spring BootのControllerでやってはいけないこと

AIによる要約Spring BootのControllerは、リクエストを受け取り、入力を確認し、Serviceを呼び出し、レスポンスを返す入口です。業務ロジック、DBアクセス、長い条件分岐、Entityの直接返却を詰め込むと、レビューで指摘されやすくなります。 Spring Bootを学び始めると、最初に触ることが多いのがControllerです。URLを受けて画面やJSONを返せるので、つい何でもControllerに書きたくなります。 しかし現場では、Controllerが太くなるとレビューでかなり ...

Javaのequalsをオーバーライドするときの注意点を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアが同一判定を学ぶイラスト。

Java

2026/7/7

Javaのequalsをオーバーライドする注意点

AIによる要約Javaでequalsをオーバーライドするときは、単にIDEで生成すればよいわけではありません。何を同じとみなすのか、hashCodeと揃っているか、変更される値を比較に使っていないかを確認する必要があります。 equalsは、オブジェクト同士を「同じものとして扱うか」を決めるメソッドです。 現場では、ID、コード値、注文番号など、業務上の同一性を表すクラスでよく話題になります。 この記事のポイント equalsは同一判定のルールを表す オーバーライドするならhashCodeもセットで考える ...

Lombokの使い方と@Dataの危険性を解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがアノテーションの選び方を学ぶイラスト。

Java

2026/7/7

Lombokの使い方と@Dataの危険性

AIによる要約LombokはJavaの定型コードを減らせる便利なライブラリです。ただし、@Dataを無条件に付けると、getter、setter、toString、equals、hashCode、コンストラクタがまとめて生成され、現場では思わぬ副作用になることがあります。 Lombokは、getter、setter、コンストラクタ、equals/hashCodeなどの定型コードをアノテーションで生成してくれるライブラリです。 現場でもよく使われますが、初学者が最初にやりがちなのが、クラスに何でも@Data ...