首頁 > Java > java教程 > 主體

你應該在 Spring Web 應用程式中放棄「ContextLoaderListener」嗎?

Linda Hamilton
發布: 2024-11-05 08:54:02
原創
178 人瀏覽過

Should You Ditch `ContextLoaderListener` in Spring Web Applications?

重訪 ContextLoaderListener

標準 Spring Web 應用程式同時使用 ContextLoaderListener 和 DispatcherServlet。雖然前者旨在載入非 Web 相關的配置,而後者僅處理 Web 相關的配置,但問題來了:為什麼不使用 DispatcherServlet 載入所有配置以避免多個上下文的複雜性?

使用多個上下文的原因

從歷史上看,鼓勵使用兩種上下文來將網路相關的問題與非網路相關的問題分開。當在多個 DispatcherServlet 之間共用服務或從舊版 servlet 存取 Spring-wired 服務時,這種做法具有優勢。但是,如果這些條件不適用,如問題中所建議的,可能沒有令人信服的理由來維護 web 應用程式層級上下文。

刪除的理由

刪除 ContextLoaderListener 的決定最終取決於具體的應用程式需求。但是,如果以下場景都不適用:

  • 需要在DispatcherServlet 之間共享服務
  • 依賴需要Spring 連線服務的舊版servlet
  • 利用與web 應用級上下文整合的過濾器

然後刪除ContextLoaderListener 並僅依賴DispatcherServlet 可以簡化應用程式架構,並可能解決與跨上下文的事件處理相關的問題。

警告

在考慮刪除 web 應用級情境時,請仔細評估對後台任務(例如排程任務或 JMS 連線)的影響。如果實作缺少配置中,這些任務只會在第一次造訪 servlet 時啟動,可能會影響及時處理。

以上是你應該在 Spring Web 應用程式中放棄「ContextLoaderListener」嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!