总结一下:
Spring的WebApplicationContext加载有2种:ContextLoaderListener和DispatcherServlet,在web.xml配置,ContextLoaderListener和DispatcherServlet有什么区别?
1 ContextLoaderListener
在我们的web容器启动的时候启动的,默认会加载/WEB-INF/下面的applicationContext.xml文件。并创建一个WebApplicationContext容器,是web的Root WebApplicationContext。
2 DispatcherServlet
在我们第一次访问我们的应用的时候创建的。这时候它默认会将配置在/WEB-INF下面的<servlet-name>-servlet.xml配置文件,然后也创建一个WebApplicationContext。这个WebApplicationContext将之前ContextLoaderListener创建的容器作为父容器。[b]因此在父容器中配置的所有Bean都能够被注入到子容器中;子容器中的bean,不能被父容器引用和使用。[/b]
可以参考一下另一篇文章:
[url]http://angie.iteye.com/blog/2334956[/url]
Spring的WebApplicationContext加载有2种:ContextLoaderListener和DispatcherServlet,在web.xml配置,ContextLoaderListener和DispatcherServlet有什么区别?
1 ContextLoaderListener
在我们的web容器启动的时候启动的,默认会加载/WEB-INF/下面的applicationContext.xml文件。并创建一个WebApplicationContext容器,是web的Root WebApplicationContext。
2 DispatcherServlet
在我们第一次访问我们的应用的时候创建的。这时候它默认会将配置在/WEB-INF下面的<servlet-name>-servlet.xml配置文件,然后也创建一个WebApplicationContext。这个WebApplicationContext将之前ContextLoaderListener创建的容器作为父容器。[b]因此在父容器中配置的所有Bean都能够被注入到子容器中;子容器中的bean,不能被父容器引用和使用。[/b]
可以参考一下另一篇文章:
[url]http://angie.iteye.com/blog/2334956[/url]