私はSpringMVCを初めて使用し、作業を開始しました。アプリケーションコンテキスト(web-applicationcontext)と、Springによって提供されるコンテキスト(つまり、spring-servlet.xml)について、同じか異なるかを知りたいです。
うまくいけば、誰かが私にこの混乱を乗り越えるためのより大きなアイデアを与えることができます。
私はSpringMVCを初めて使用し、作業を開始しました。アプリケーションコンテキスト(web-applicationcontext)と、Springによって提供されるコンテキスト(つまり、spring-servlet.xml)について、同じか異なるかを知りたいです。
うまくいけば、誰かが私にこの混乱を乗り越えるためのより大きなアイデアを与えることができます。
それらを同じファイルとして扱うことができます。詳細については、この回答をご覧ください。
アプリケーションコンテキストとサーブレットコンテキストの違いは、アプリケーションコンテキストで指定されたものはすべてサーブレットコンテキストで参照できますが、その逆はできないことです。
つまり、アプリケーションコンテキストレベルで指定されたサーブレットを介して再利用されるコンポーネントを持つことができますが、特定のサーブレットにのみ固有の特定のものを指定して、それらをアプリケーションや他のサーブレットから分離することができます。
きめ細かい制御が必要な場合は、それがあります。
* -servlet.xmlによって提供されるapplication-contextはWebApplicationContextです。これについての詳細は、ここを参照してください。ルートアプリケーションは、contextLoaderリスナーによって作成されます。
Springリファレンスからの引用、
「WebMVCフレームワークでは、各DispatcherServletには独自のWebApplicationContextがあり、ルートWebApplicationContextですでに定義されているすべてのBeanを継承します。
WebApplicationContextは、Webアプリケーションに必要ないくつかの追加機能を備えたプレーンなApplicationContextの拡張です。通常のApplicationContextとは異なり、テーマを解決でき(15.7項「テーマの使用」を参照)、関連付けられているサーブレットを認識します(ServletContextへのリンクがあります)。WebApplicationContextはServletContextにバインドされており、RequestContextUtilsクラスで静的メソッドを使用することにより、アクセスが必要な場合はいつでもWebApplicationContextを検索できます。」
ルートアプリケーションコンテキストの詳細は、ここにあります