web.xmlはなぜspringのプロファイルが2つあるのか

1954 ワード

問題の説明
今日、プロジェクトを見ていると、プロジェクトのweb.xmlspringのプロファイルが2つあることがわかりました.


    contextConfigLocation
    classpath*:spring/appcontext-*.xml




    appServlet
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        classpath:spring/appServlet-servlet.xml
    
    1


    appServlet
    /


なぜこんなことになったのか分からないので、ネットで検索してみました.
参考文献:
  • Springフレームワークにおけるcontext-paramとservletにおけるinit-paramのcontextConfigLocationの違い
  • 本文springmvcというフレームワークでは、一般的にspringには2つのプロファイルがデフォルトで存在し、1つはapplicationContext.xmlであり、もう1つはspring-servlet.xmlである.一般的には、注釈の自動ロード、タイマの自動ロードなどの内容をspring-servletに書きます.xml.そしてspring-servlet.xml、webに置きます.xmlファイルの下のservletで初期化します.例:
    
        spring
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-servlet.xml
        
    
    

    アプリケーションContext.xmlは、次のようにグローバルに構成されます.
    
        contextConfigLocation
        
            classpath:applicationContext.xml,
            classpath:spring-servlet.xml
        
    
    

    Springフレームワークは、Webプロファイルをロードするときに使用します.まずcontext-param構成の内容をロードし、servletを初期化しません.ウェブサイトのジャンプを行い、DispatcherServiceletのナビゲーションを通過した場合にのみservletが初期化され、init-paramのコンテンツがロードされます.