Spring Framework の applicationContext.xml と spring-servlet.xml の違い 質問する

Spring Framework の applicationContext.xml と spring-servlet.xml の違い 質問する
  • applicationContext.xmlと はspring-servlet.xmlSpring Framework で何らかの関連があるのでしょうか?
  • で宣言されたプロパティ ファイルは でapplicationContext.xml使用可能になりますかDispatcherServlet?
  • 関連して、なぜ が必要なのでしょうか*-servlet.xml?applicationContext.xmlだけでは不十分なのはなぜでしょうか?

ベストアンサー1

Spring では、親子階層内で複数のコンテキストを定義できます。

applicationContext.xml「ルート Web アプリケーション コンテキスト」、つまり Web アプリケーションに関連付けられたコンテキストの Bean を定義します。

spring-servlet.xml(または任意の名前)は、1 つのサーブレットのアプリケーション コンテキストの Bean を定義します。Web アプリケーションには、Spring サーブレットごとに 1 つずつ、これらが多数存在する場合があります (たとえば、 spring1-servlet.xmlservlet の場合spring1spring2-servlet.xmlservlet の場合spring2)。

内の Bean はspring-servlet.xml内の Bean を参照できますapplicationContext.xmlが、その逆はできません。

すべての Spring MVC コントローラーはspring-servlet.xmlコンテキスト内に配置する必要があります。

最も単純なケースでは、applicationContext.xmlコンテキストは不要です。通常、コンテキストは、Web アプリケーション内のすべてのサーブレット間で共有される Bean を格納するために使用されます。サーブレットが 1 つしかない場合は、特別な用途がない限り、あまり意味がありません。

おすすめ記事