Javaの記事一覧
Spring Bootの前提になるJava言語機能やJDKまわりの仕様を絡めて理解したいときのための記事一覧です。
-
Spring BootでCSVを出力・取込する方法 - OpenCSVで文字コード・大量データ・バリデーションに対応
Spring BootとOpenCSVでCSVのダウンロード/アップロードを実装する実践ガイド。Excelで文字化けしないShift_JIS/UTF-8+BOM対応、StreamingResponseBodyによる大量データのメモリ効率出力、@CsvBindByNameでのマッピング、取込時の行単位バリデーションとエラー行返却までコード付きで解説します。
-
Spring BootのCommandLineRunner・ApplicationRunnerで起動時処理を実行する方法
Spring Bootのアプリ起動完了直後に一度だけ処理を実行するCommandLineRunnerとApplicationRunnerの使い方を解説。最小実装、@Orderによる実行順序、ApplicationArgumentsでの起動引数受け取り、例外時の挙動、@PostConstructやApplicationReadyEventとの使い分けまで実例で整理します。
-
Spring Boot 3.2のRestClientで同期HTTPクライアントを実装する - RestTemplate/WebClientからの移行
Spring Boot 3.2で追加されたRestClientの実装をハンズオンで解説します。フルエントAPIでのGET/POST/PUT/DELETE、onStatusでのエラーハンドリング、connect/readタイムアウト、MockRestServiceServerでのテスト、RestTemplateからの移行手順、WebClientや@HttpExchangeとの使い分けまでまとめました。
-
Spring BootでExcelファイルを出力・読み込みする方法 - Apache POIで帳票・データ取込を実装
Spring BootとApache POIでExcel(xlsx)を出力・読み込みする実装ガイド。Workbook/Sheet/Cellの基本、REST APIでのダウンロード、SXSSFWorkbookによる大量データのメモリ対策、アップロードされたxlsxのパースまでをコード付きで解説します。
-
Spring BootでPDFを動的生成する方法 - OpenPDFとThymeleafで帳票出力
Spring BootでPDFを動的生成する実装ガイド。OpenPDF/iText/Flying Saucerのライセンス比較、Thymeleafテンプレートからの変換、日本語フォント埋め込み、REST APIでのダウンロード実装まで解説します。
-
Spring BootでLombokを使ってボイラープレートを削減する方法
Spring Boot開発で頻出するLombokアノテーション(@Data・@Builder・@RequiredArgsConstructor・@Slf4jなど)の役割と使い分けを実務目線で解説。JPA Entityでの落とし穴やコンストラクタインジェクションとの組み合わせ方も整理します。
-
Spring BootのJackson設定でJSONシリアライズをカスタマイズする - 日付・null除外・snake_case対応ガイド
Spring BootのJacksonで『LocalDateTimeが配列で返る』『フロントがsnake_caseを要求』といった定番課題を解決。日付フォーマット、null除外、snake_case変換、@JsonView/Mixin/カスタムSerializerまでをコード例付きで解説するREST API向け実装ガイドです。
-
Spring BootでAPIレートリミットを実装する方法 - Bucket4jとFilterでリクエスト数を制限する
Bucket4jとSpring BootのServlet Filterを組み合わせてIP単位・APIキー単位のレートリミットをゼロから実装する手順を解説します。制限超過時にHTTP 429を返す処理の書き方、Resilience4j @RateLimiterとの用途の違いも整理します。
-
Spring BootでGraphQLを使う方法 - Spring for GraphQLの基本とREST APIとの使い分け
Spring Boot 3.xのSpring for GraphQLを使い、スキーマ定義からQuery・MutationResolver実装、DataLoaderによるN+1対処、Spring Securityとの統合までを解説。REST APIとの比較で採用判断基準も明確にします。
-
Spring BootでMongoDBを使う方法 - Spring Data MongoDBの基本からクエリ・集計まで
Spring BootアプリにMongoDBを導入する手順を解説。@Documentによるエンティティ定義、MongoRepositoryのCRUD操作、クエリメソッド、MongoTemplateによるカスタムクエリ、Aggregation Pipelineまで実装コードで一気に学べる実践ガイド。
-
Spring BootでMapStructを使ってEntity-DTO変換を自動化する方法
手書きのtoDto()/toEntity()メソッドをMapStructで自動生成する実装ガイド。依存追加から@Mapperの基本、ネストオブジェクト・カスタム変換・ユニットテストまで網羅。
-
Spring BootでWebSocketを使ったリアルタイム通信を実装する方法 - STOMPとSockJSの基本
Spring Boot + STOMP + SockJS でブロードキャスト型チャットを最短で動かす手順を、設定クラス・@MessageMapping・SimpMessagingTemplateの3層構造で解説。1対1メッセージング、Principalによる認証ユーザー取得、外部ブローカーでのスケーリングまでカバーします。
-
Spring BootでCORSを設定する方法 - @CrossOriginとWebMvcConfigurerの使い分け
React/VueなどのフロントエンドからSpring Boot REST APIを呼び出す際のCORSエラーを解決する実践ガイド。@CrossOrigin・WebMvcConfigurer・SecurityFilterChainの3パターンの使い分けと、Spring Security導入時の落とし穴まで解説します。
-
Spring BootのJPA Auditingで作成日時・更新日時を自動記録する方法
Spring BootのJPA Auditingを使ってエンティティの作成日時・更新日時を自動記録する方法を解説。@CreatedDate・@LastModifiedDate・@EnableJpaAuditing・AuditorAwareの設定からSpring Security連携まで実践コードで紹介します。
-
Spring Bootでカスタムバリデーションアノテーションを作る方法 - @Constraint/ConstraintValidator実装ガイド
@ConstraintとConstraintValidatorで独自バリデーションを作る手順を、電話番号形式・メール重複(DI利用)・パスワード確認(クロスフィールド)の3パターンで解説。@NotBlank / @Patternでは届かないルールを再利用可能なアノテーションに落とし込み、Service層に散らばるチェックロジックを整理できます。
-
Spring BootでGoogleログイン(OAuth2)を実装する方法
Spring Security OAuth2 Clientを使ってGoogleソーシャルログインをゼロから実装するステップバイステップガイド。OAuth2認可コードフローの仕組みからapplication.yml設定・UserInfo取得まで、ローカル環境で動くアプリを構築しながら解説します。
-
Spring BootでファイルアップロードとダウンロードをREST APIで実装する方法 - MultipartFileの使い方
MultipartFileを使ったファイルアップロード・保存・ダウンロードの実装をステップバイステップで解説。サイズ上限設定・MIMEタイプバリデーション・例外処理まで本番で使えるコード例を網羅します。
-
Spring Security + JWTでステートレス認証を実装する方法
Spring Boot REST APIにJWT認証をゼロから組み込む実践ガイド。トークン生成・検証・JwtAuthenticationFilterの実装からSecurityFilterChain設定・動作確認まで、コードを中心にステップバイステップで解説します。