web.xml中context-param和DispatcherServlet中的contextConfigLocation的区别

web.xml
ContextLoaderListener的配置

	<context-param>
		<param-name>contextConfigLocationparam-name>
		<param-value>classpath*:com/**/server/META-INF/spring.xml,/WEB-INF/spring.xmlparam-value>
	context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
	listener>

DispatcherServlet的配置

	<servlet>
		<servlet-name>spring-mvcservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>/WEB-INF/spring-context.xmlparam-value>
		init-param>
		<load-on-startup>1load-on-startup>
	servlet>

两者配置文件的不同之处如下:
web.xml中context-param和DispatcherServlet中的contextConfigLocation的区别_第1张图片
从图中可以看出:

ContextLoaderListener初始化的上下文加载的Bean是对于整个应用程序共享的,不管是使用什么表现层技术,一般如DAO层、Service层Bean;

DispatcherServlet初始化的上下文加载的Bean是只对Spring Web MVC有效的Bean,如Controller、HandlerMapping、HandlerAdapter等等,该初始化上下文应该只加载Web相关组件。

你可能感兴趣的:(Spring)