記事一覧
Spring Bootに関する全173本の記事を新しい順にまとめています。基礎解説から実装ガイド、トラブルシューティングまで一覧から探せます。
2026年
- Spring BootでMockMvcを使ってファイルアップロードAPIをテストする方法 - MockMultipartFileとサイズ上限・MIME検証の異常系テスト
- Spring Boot + MyBatisでMapperを単体テストする方法 - @MybatisTestが存在しない理由とH2/Testcontainersでの代替構成
- Spring BootでMockMvcを使ってファイルダウンロードAPIをテストする方法 - Content-Dispositionとバイナリレスポンスの検証
- Spring Boot + MyBatisの@CacheNamespaceで2次キャッシュを実装する方法 - cacheタグとRedis連携
- Spring Bootのテストで@Sqlアノテーションを使ってテストデータを投入する方法
- Spring Data JPAで@NamedEntityGraphを使う方法 - 再利用可能なフェッチ定義とEntityGraph.Typeの使い分け
- Spring Bootで複数データソースを使うときのHikariCPプールサイズ設計
- Spring Bootで同じ型のBeanが複数あるときの解決法 - @Qualifierと@Primaryの使い分けと名前解決の優先順位
- Spring BootでMockMvcを使って@RestControllerAdviceの例外ハンドラをテストする方法 - ステータスコード・ProblemDetailの検証
- Spring Boot + MyBatisでdiscriminatorを使った多態マッピング - 1テーブルを種別ごとに出し分けるresultMap実装
- Spring Boot + MyBatisで楽観的ロックを実装する方法
- Spring BootのBeanNameAware・ApplicationContextAwareはいつ使うべきか
- Spring BootでHikariCPのコネクションリークを検出・デバッグする方法 - leakDetectionThresholdとスレッドダンプ解析
- Spring Boot + Flywayで既存データベースにbaselineOnMigrateを導入する方法 - baselineVersionとflyway_schema_historyの初期化
- Spring Boot + MyBatisでSqlProviderを使ってJavaコードだけで動的SQLを組み立てる方法
- Spring BootでHikariCPのコネクションプールをMicrometer・Actuatorで監視する方法
- Spring Boot @SpringBootTestのwebEnvironment使い分け - MOCK・RANDOM_PORT・DEFINED_PORT・NONEの選び方
- Spring Bootのspring.config.importで設定ファイルを分割・外部化する方法
- Spring Bootの@ComponentScanでBeanが見つからない(NoSuchBeanDefinitionException)を解決する方法 - 複数モジュール構成とスキャン範囲の設定
- Spring Boot + MyBatisでINSERT後の自動採番ID(AUTO_INCREMENT)を取得する方法
- Spring Boot ActuatorでCI/CDのバージョン情報を表示する方法 - build-infoとgit.propertiesで/actuator/infoにコミットハッシュを自動反映
- Spring BatchでCSVを一括インポートする方法 - FlatFileItemReaderとBeanWrapperFieldSetMapperでChunk処理
- Spring Boot + Flywayで「Validate failed」「checksum mismatch」が出た時の直し方 - flyway repairと本番復旧手順
- Spring Boot @JsonTestでJSONシリアライズ/デシリアライズをテストする方法 - JacksonTesterとObjectMapperの検証
- Spring BootでCaffeineキャッシュを設定・チューニングする方法 - expireAfterWrite・maximumSize・stats()で本番運用まで
- Spring SecurityとMockMvcを組み合わせて認証必須APIをテストする方法 - @WithMockUser・SecurityMockMvcRequestPostProcessorsの使い分け
- Spring Boot + MyBatisでsqlタグ・includeタグを使ってSQLを再利用する方法 - Mapper間のクエリ重複を解消する
- Spring BootをKubernetesで複数レプリカにスケールしたらHikariCPが繋がらなくなる理由 - maximumPoolSizeとDBのmax_connectionsの逆算設計
- MyBatisとは?JPAとの違いとSpring Bootでの最小構成をやさしく理解する
- Spring Bootの@SpringBootTest(RANDOM_PORT)とTestRestTemplateで実HTTPのE2Eテストを書く方法
- Spring Boot + MyBatisで@Transactionalによるトランザクション管理を実装する方法 - SqlSessionとDataSourceTransactionManagerの仕組み
- Spring Boot + MyBatisで「Invalid bound statement (not found)」「Parameter 'xxx' not found」が出る原因と対処
- Spring Boot + MyBatisの動的SQL - where・set・trim・choose・bind・foreachの書き方と「ANDが先頭に残る」「末尾カンマ」「IN句が空で落ちる」の対処
- Spring Boot + MyBatisで1対多・多対1の結合結果をマッピングする方法 - resultMapのassociation・collectionとN+1対策
- Spring BootでHikariCPの「Failed to validate connection」「Connection is closed」が出る原因と対処 - maxLifetimeとkeepaliveTimeの決め方
- Spring Bootの組み込みTomcatスレッド数をチューニングする方法 - server.tomcat.threads.max・max-connections・accept-countの決め方
- Spring BootでMySQLに接続する方法 - application.ymlの設定とJDBC URLパラメータ、タイムゾーン/文字コードの落とし穴
- Spring Boot + MyBatisでページネーションを実装する方法 - PageHelper・RowBounds・手書きLIMIT/OFFSETの使い分け
- Spring BootのService層テストでMockitoを使いこなす - when・verify・ArgumentCaptor・doThrow実践
- Spring BootでList<DTO>・@RequestParam・@PathVariableをバリデーションする方法 - @Validが効かない原因と3つの例外の扱い
- Spring Bootのバリデーションアノテーション一覧・早見表 - @NotNull/@NotEmpty/@NotBlankの違いからカスタムメッセージまで
- Spring Bootの認証方式はどれを選ぶ?セッション・JWT・OAuth2・API Keyの比較と選定フローチャート
- Spring Bootのテストアノテーション使い分け早見表 - @SpringBootTest・@WebMvcTest・@DataJpaTestの選び方
- Spring Bootで@Transactional・@Cacheable・@Asyncが効かない原因 - AOPプロキシとself-invocationを理解して解決する
- Spring Boot + Spring Data JPAの@Queryアノテーションの使い方 - JPQL・ネイティブSQL・@Modifyingによる更新クエリまで
- Spring BootでSpring Session + Redisのセッション管理を実装する方法 - 複数インスタンスでのセッション共有
- Spring Bootの@Service・@Repository・@Controllerの違いと使い分け - @Componentとの関係から例外変換まで
- Spring BootでQuartz Schedulerを使う方法 - 永続化ジョブとcron・動的スケジューリング(@Scheduledとの使い分け)
- Spring Data JPAで大量INSERTを高速化する方法 - hibernate.jdbc.batch_sizeとsaveAllのバッチ化
- Spring SecurityでDB認証を実装する - UserDetailsServiceとJdbcUserDetailsManagerでユーザーを永続化する
- Spring BootでMyBatisを使う方法 - Mapper定義・動的SQL・結果マッピングの実装ガイド
- Spring Boot + JPAでenumをDBに保存する方法 - @Enumerated(EnumType.STRING)とAttributeConverterの使い分け
- Spring BootでgRPCサービス・クライアントを実装する方法 - Protocol Buffersとgrpc-spring-boot対応
- Spring Boot 3.4で@MockBeanが非推奨に - @MockitoBean・@MockitoSpyBeanへの移行と使い方
- Spring Boot + Hibernate Enversで変更履歴(監査ログ)を自動記録する方法
- Spring Cloud GatewayでAPIゲートウェイを構築する方法 - ルーティング・フィルター・レートリミット
- Spring BootでCSVを出力・取込する方法 - OpenCSVで文字コード・大量データ・バリデーションに対応
- Spring Bootで独自の自作スターター(Custom Starter)を作る方法 - AutoConfigurationとメタデータ設定
- Spring Boot + JPAのLazyInitializationExceptionを解決する方法 - 「could not initialize proxy - no Session」の原因と対処
- Spring Bootでカスタムヘルスチェック(HealthIndicator)と独自Actuatorエンドポイントを作る方法