入門

docs

🔗 Spring Framework 講座【第23回】テーブル間のつながり!〜JPAのリレーションシップ(関連付け)〜

前回、JPAの @Query アノテーションを使って、複雑なDB検索に対応する方法を学びました。ここまでのEntityの例は、単一のテーブル(例えば Item や User)に焦点を当てていましたが、実際の業務システムでは、複数のテーブルが...
docs

✍️ Spring Framework 講座【第22回】SQLを直接書く!〜Spring Data JPAの@QueryとJPQL〜

前回、Spring Data JPAでは、メソッド名の命名規則に従うだけで、ほとんどの定型的な検索(CRUD)が自動で実現できることを学びました。これは開発の生産性を劇的に向上させます。しかし、以下のようなケースでは、メソッド名によるクエリ...
docs

🔍 Spring Framework 講座【第21回】DB検索を自動化!〜Spring Data JPAのCRUDとカスタム検索〜

前回、JPAの基本概念と、Spring Data JPAによってインターフェースとしてRepositoryを定義するだけで、基本的なDB操作メソッド(save、findByIdなど)が自動生成されることを学びました。この機能のおかげで、私た...
docs

💾 Spring Framework 講座【第20回】DB連携の主役!〜データ永続化の基本とJPA/Hibernate〜

前回、Spring Bootのプロファイル機能を使って、環境ごとに設定を切り替える方法を学びました。これでアプリケーションの**「設定」**も万全です。今回からは、業務システムの根幹であり、最も複雑な領域であるデータベース連携に進みます。J...
docs

⚙️ Spring Framework 講座【第19回】環境ごとに設定を切り替える!〜プロパティ管理とプロファイル〜

前回、Controller、Service、Repositoryの三層構造による業務ロジックの連携を学びました。アプリケーションの骨格はこれで完成です。しかし、実際の業務システムは、「開発環境」「テスト環境」「本番環境」といった複数の環境で...
docs

🏗️ Spring Framework 講座【第18回】ビジネスの心臓部!〜三層構造の連携とService層の役割〜

前回は、ユーザーからの入力を守るためのバリデーションと、その際のエラーを適切に処理するエラーハンドリングについて学びました。これで、アプリケーションの「入り口」は強固になりましたね。今回は、Webアプリケーション設計の基本である三層構造(C...
docs

🛡️ Spring Framework 講座【第17回】システムを不正入力から守る!〜データのバリデーションとエラーハンドリング〜

前回、Controllerでユーザーからのリクエストデータ(@RequestBody や @RequestParam)を受け取る方法を学びました。しかし、送られてくるデータは信用できません。空欄だったり、文字数が多すぎたり、不正な形式だった...
docs

📩 Spring Framework 講座【第16回】ユーザー入力を処理する!〜リクエストパラメータの受け取り方〜

前回は、Controller(コントローラ)を使ってURLとメソッドを結びつけるルーティングの基本を学び、固定の文字列を返すAPIを作成しました。しかし、実際のWebアプリケーションでは、ユーザーがフォームに入力したり、URLに特定の情報を...
docs

🌐 Spring Framework 講座【第15回】Webの入り口!〜@RestControllerとルーティングの基本〜

前回、Spring Initializrを使ってWebアプリケーションの雛形を作成し、サーバー(Tomcat)を起動するところまで確認しました。今回からはいよいよSpring Web MVCの機能に入り、Webアプリケーションの中心的な役割...
docs

💻 Spring Framework 講座【第14回】ハンズオン開始!〜Spring Initializrでプロジェクトの雛形を作る〜

前回、Spring Bootの強力な機能であるAuto-ConfigurationとStarter POMsについて学びました。Spring Bootは、私たちを面倒な設定作業から解放してくれる最高のパートナーです。今回は、そのSpring...