ContextLoaderListener の再考
標準の Spring Web アプリケーションは、ContextLoaderListener と DispatcherServlet の両方を使用します。前者は非 Web 関連の構成をロードするように設計されており、後者は Web 関連の構成のみを処理するように設計されていますが、複数のコンテキストの複雑さを回避するために、なぜ DispatcherServlet を使用してすべての構成をロードしないのかという疑問が生じます。
複数のコンテキストの理由
歴史的には、Web 関連の懸念事項を Web 関連の懸念事項から分離するために、両方のコンテキストの使用が推奨されてきました。この実践により、複数の DispatcherServlet 間でサービスを共有したり、従来のサーブレットから Spring 接続サービスにアクセスしたりするときに利点が得られました。ただし、質問で示唆されているように、これらの条件が適用されない場合は、Web アプリレベルのコンテキストを維持する説得力のある理由がない可能性があります。
削除の正当性
ContextLoaderListener を削除するかどうかの決定は、最終的には特定のアプリケーション要件に依存します。ただし、次のシナリオがいずれも当てはまらない場合:
その後、ContextLoaderListener を削除して DispatcherServlet のみに依存すると、アプリケーション アーキテクチャが簡素化され、コンテキスト間のイベント処理に関連する問題に対処できる可能性があります。
注意
Web アプリケーション レベルのコンテキストの削除を検討する場合は、スケジュールされたタスクや JMS 接続などのバックグラウンド タスクへの影響を慎重に評価してください。実装に
以上がSpring Web アプリケーションの「ContextLoaderListener」を廃止する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。