キャッシュディクショナリの仕組みと実装方法

問題解決: すべてのselect要素が毎回サーバーにリクエストを送るため、パフォーマンスに悪影響が出る。どうやって改善するか? データベースにディクショナリテーブルを作成し、よく使う選択肢の内容を保存します。プロジェクト起動時にこのテーブルを読み込み、メモリに保存します。その後、select要素はメモリから選択肢の内容を取得します。 データの非同期問題: 定期的 ...

9月16日 04:27 投稿

Spring Boot API で散発的に発生する 504 エラーの原因究明:ゲートウェイではなくコネクションプールの枯渇

事象の概要先週、注文検索 API で断続的に 504 エラーが発生するという障害対応を担当した。通常時の P95 レスポンスタイムは 80ms 程度なのに、毎日夜間のピーク時にだけ数十秒間続く 504 が出現し、その後自然に収束していた。システム構成は以下の通り:クライアント → Nginx → Spring Boot → MySQLNginx のタイムアウトは 30 秒に設定されており、アプリケーション層の ...

9月15日 03:39 投稿

Kubernetes Secret を利用した Spring アプリケーションの SSL 証明書管理

Kubernetes 環境で Secret を使用して SSL 証明書を管理するための Spring Boot 設定方法を説明します。PKCS12 形式と PEM 形式の証明書、それぞれに対応した設定を示します。 前提条件 1. Secret の作成 Kubernetes 上で事前に Secret を作成し、証明書と秘密鍵を格納します。 # PKCS12 形式 (推奨) kubectl create secret generic ssl-secret \ --from-file=server ...

9月9日 00:17 投稿

Spring Boot組み込みTomcatにおけるJNDIマルチデータソースの統合

JNDIデータソースとは何か? 百度百科による説明を参照する JNDI(Java Naming and Directory Interface、Java名前とディレクトリインターフェース)は、SUNが提供する標準的なJava名前システムインターフェースであり、JNDIは統一されたクライアントAPIを提供し、さまざまなアクセスプロバイダーインターフェースJNDIサービスサプライヤーインターフェース(SPI)の実装 ...

9月8日 04:30 投稿

Spring Boot を用いた介護施設管理システムの設計と実装

背景分析 高齢化が進む中で、従来の介護サービスは資源の偏りや効率性の課題を抱えています。Spring Boot フレームワークは、迅速な開発とマイクロサービスのサポートを提供し、効率的な管理システム構築に適しています。 技術的な意義 モジュール化開発:Spring BootのStarter依存関係は、権限管理や健康状態監視などのモジュールを簡潔に統合します。 データ統合:JP ...

9月7日 22:31 投稿

Spring Bootプロジェクトにおけるpropertiesファイルの文字化け対策

Aliyunのstart.aliyun.comを使用してSpring Bootプロジェクトを作成する際、application.propertiesファイルが文字化けする問題に遭遇することがあります。これは主に文字エンコーディングの不一致が原因です。以下では、この問題を解決し、propertiesファイルを正しく読み込み・表示できるようにするための手順と方法を詳しく説明します。 1. ファイルエンコーディングをU ...

9月5日 10:24 投稿

Spring BootアプリケーションでDruid、MyBatis、PageHelperを統合する

Spring Bootにおけるデータアクセス層の構築 本記事では、Spring Bootアプリケーションにおいて、高機能なデータソースであるDruid、ORMフレームワークのMyBatis、そして柔軟なページネーション機能を提供するPageHelperを統合する方法について解説します。 1. Druidデータソースの統合 Druidは、高性能な接続プールと監視機能を備えたデータソース実装です。Spring Boot ...

8月28日 13:04 投稿

Excelデータのインポート・エクスポート機能を最適化する設計手法

導入と目的 本稿では、業務システムにおけるテーブルデータのインポート・エクスポート機能の実装方法について、Alibaba EasyExcelを利用した具体的な実装パターンと設計上の注意点を紹介します。特に、大量データ処理時のメモリ効率やエラー処理の設計、フロントエンドとの連携における制約に焦点を当てます。 主要ライブラリ:EasyExcelの概要 EasyExcelは、大容量のXLS ...

8月26日 01:40 投稿

Spring Boot アクチュエーターとSpring Boot Adminによるアプリケーション監視

基礎編 Spring Actuatorとは何か? Spring Bootのspring-boot-starter-actuatorモジュールは、Springが提供する監視機能です。開発・運用プロセスにおいて、アプリケーションの各種状態と可用性をリアルタイムまたは定期的に監視する必要があります。Spring Bootのspring-boot-starter-actuatorモジュール(健康監視機能)は、多くの監視に必要なインターフェースを提供 ...

8月20日 13:07 投稿

Springバリデーション:@ValidatedがControllerでは機能しService層では機能しない理由

Spring Bootアプリケーション開発において、パラメータバリデーションアノテーションを使用する際、「なぜController層では期待通りに動作するのに、Service層では機能しないのか?」という疑問に直面したことはありませんか?本稿では、この問題の核心に迫り、Springのバリデーションメカニズムの内部動作を徹底的に解説します。 問題の再現 よくあるシナリオとして、商 ...

8月20日 02:52 投稿