【Java】Spring Bootのインターセプターで、スレッドローカルに値をセットして使い回す
ちょっと限定的な使い方かも知れませんが「仕様変更とかで、全てのコントローラークラスに同じ処理を追加したい。でも、既存モジュールへの改修はコスト的に厳しい」って時に役立つのが、インターセプター。これとスレッドローカルを組み合わせて、なるべく改修範囲を抑えてやりたい事を実現しようと言うのが、今回のコンセプトです。
インターセプターとは
インターセプターは、Spring Bootアプリケーションにおいてリクエストの前後に特定の処理を挿入するための仕組みです。例えば、「ある機能を実行する前に特定の処理を実行したい」場合などに活用されます。また、共通の処理を一箇所で管理することができるため、効率的な開発が可能となります。
スレッドローカルとは
スレッドローカルとは、各スレッドごとに値を保持する仕組みです。これにより、特定のスレッド内で共有するデータを簡単に管理できます。特に、マルチスレッド環境において、スレッドごとに異なる値を保持する必要がある場合に有用です。
サンプルコード
Spring Bootのインターセプターを使用し