applicationContext.xml
と はspring-servlet.xml
Spring 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.xml
servlet の場合spring1
、spring2-servlet.xml
servlet の場合spring2
)。
内の Bean はspring-servlet.xml
内の Bean を参照できますapplicationContext.xml
が、その逆はできません。
すべての Spring MVC コントローラーはspring-servlet.xml
コンテキスト内に配置する必要があります。
最も単純なケースでは、applicationContext.xml
コンテキストは不要です。通常、コンテキストは、Web アプリケーション内のすべてのサーブレット間で共有される Bean を格納するために使用されます。サーブレットが 1 つしかない場合は、特別な用途がない限り、あまり意味がありません。