![](/img/trans.png)
[英]spring WebApplicationInitializer configure multiple servlets
[英]Multiple Spring WebApplicationInitializer
在進行春季項目時,我意識到我擁有三個有效實現WebApplicationInitializer的類。
public class SpringSessionInitializer extends AbstractHttpSessionApplicationInitializer
public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer
public class AnnotationWebAppInitializer implements WebApplicationInitializer
在查看了這三種用途之后,我發現我沒有辦法將它們結合起來,所以我有幾個問題。
因此,感謝M.Deinum的評論,它使我找到了答案。 在@Order標簽周圍玩耍之后,您可以通過這種機制來控制它們的加載順序。 但是第二部分是,命令確實很重要。 如果您閱讀了AbstractHttpSessionApplicationInitializer的文檔,它指出必須在其他注冊過濾器的初始化程序之前對其進行排序。 它還默認將其Order設置為100。必須首先使用它的原因是它使用過濾器從緩存數據庫中檢索會話。 例如,如果您將AbstractSecurityWebApplicationInitializer設置為50,則切換服務器時將不再進行身份驗證,因為spring安全過濾器將在從數據庫獲取會話的過濾器之前執行。
另一方面,我刪除了一個讓Spring-Tomcat Web應用程序java.lang.IllegalStateException出現的錯誤,該錯誤是通過使我的主初始化器AnnotationWebAppInitializer優先於其他實現而解決的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.