web.xmlはなぜspringのプロファイルが2つあるのか
1954 ワード
問題の説明
今日、プロジェクトを見ていると、プロジェクトの
なぜこんなことになったのか分からないので、ネットで検索してみました.
参考文献: Springフレームワークにおけるcontext-paramとservletにおけるinit-paramのcontextConfigLocationの違い 本文
アプリケーションContext.xmlは、次のようにグローバルに構成されます.
Springフレームワークは、Webプロファイルをロードするときに使用します.まずcontext-param構成の内容をロードし、servletを初期化しません.ウェブサイトのジャンプを行い、DispatcherServiceletのナビゲーションを通過した場合にのみservletが初期化され、init-paramのコンテンツがロードされます.
今日、プロジェクトを見ていると、プロジェクトの
web.xml
にspring
のプロファイルが2つあることがわかりました.
contextConfigLocation
classpath*:spring/appcontext-*.xml
appServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/appServlet-servlet.xml
1
appServlet
/
なぜこんなことになったのか分からないので、ネットで検索してみました.
参考文献:
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のコンテンツがロードされます.