ContextLoaderListener
WebApplicationContext
は、Springを起動するためのブートストラップのようなものですがApplicationListener
、Web アプリケーションのコンテキストではなく、Java アプリケーションのレベルそのものです。
ContextLoaderListener
DispatcherServlet
は、アプリに複数の がある場合、または異なるサービスにマップされたサーブレット/サーブレット フィルターがある場合に、アプリのコンテキスト化のための優れた標準ツールです。基本的に、このようなアプリのさまざまなサーブレットにリスナーを用意すると便利です。これにより、きめ細かなコンテキスト化が可能になります。
あなたが構築しているアプリケーションの性質はわかりませんが、今のところ基本的なことを試していると思います。この場合、さらに複雑な設定をしている場合でも、起動時に、コンテキスト化を含むメインの初期化ルーチンを処理するコントローラーをロードすることをお勧めします。web.xml で次のようなものを使用して、コントローラー Bean を使用できます。
<servlet>
<servlet-name>your-servlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
このサーベルトは、特定の URL パターンを読み取るたびにマップして呼び出すこともできます。
@RequestMapping("/welcome")
public ModelAndView helloWorld()
Web デプロイメント記述子では、このビットは、サーブレットを Spring Security などの他の Spring サービスにマップするのと同じです。
<servlet-mapping>
<servlet-name>crunchify</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
ContextLoaderListener
したがって、コントローラーのコンストラクターを実際に使用する必要はなく、単純な初期化タスクに常にまたは他のリスナーを使用する必要もありません。それでも、アプリをスケーリングするときに必要になるため、ユース ケースを学習しておくと便利です。
Dispatcher サーブレットの詳細については、こちらをご覧ください。
http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/web/servlet/DispatcherServlet.html