Springプロジェクトにおける組み込みの宣言的トランザクション@Transactionalの使用は推奨されない理由
トランザクションの基本概念
トランザクション、分離レベル、データベースの同時実行問題については、以下の記事を参照してください:データベーストランザクション、分離レベル、および同時実行問題の入門(MySQL)
データベースの主なトランザクション分離レベルには以下のものがあります:
READ_UNCOMMITTED(読み取り未コミット):最も低い分離レベルで、あるトラン ...
7月18日 00:53 投稿
Springの注解、AOP、内部構造とMyBatis統合までの実践ガイド
自動DIによる依存性管理の進化
SpringのIoCコンテナは、Bean間の依存関係を自動的に解決する「自動ワイヤリング」機能を提供しており、設定の冗長性を大幅に削減できます。XMLベースの定義から始まり、アノテーション、JavaConfigへと進化することで、開発効率と保守性が向上します。
XMLでの自動注入
Bean定義においてautowire属性を使用することで、プロパティ名または ...
7月11日 20:06 投稿
APIパフォーマンス最適化の実践手法
最適化手法の体系化
バッチ処理の適用
ループ内での単一処理を一括処理に変換
// 非効率な単一処理
orders.forEach(order -> {
orderRepository.save(order);
});
// 一括処理による最適化
orderRepository.saveAll(orders);
非同期処理の実装
即時性を必要としない処理をバックグラウンド化
@Async
public void processBackgroundTask(Data data) {
auditServi ...
7月8日 22:33 投稿
Spring Bootでのイベントリスナー実装と@TransactionalEventListenerの比較分析
承認プロセスや複数のフォームデータ処理においてデータの書き戻しが必要な場合、イベントリスナーを利用して処理を実装できます。
メソッドに@EventListenerアノテーションを追加する
"#workflowEvent.processCode.startsWith('leave')" の解説:
workflowEvent: メソッドのパラメータ
processCode: workflowEventのプロパティ
startsWith: processCodeの型の ...
6月2日 16:19 投稿