根据DispatchServlet使用ContextLoaderListener
问题内容:
我想同时使用ContextLoaderListener(以便可以将Spring
Beans传递到我的servlet)以及DispatchServlet(Spring MVC)。但是,当前我必须将init参数传递给这两个类的初始化程序:
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/app-config.xml
</param-value>
因此,对于这两个类,我都使用相同的xml。想知道是否会导致我的bean被初始化两次?如果是,我将如何避免这种情况?
问题答案:
对于ContextLoaderListener
和DispatcherServlet
,contextConfigLocation
参数都是可选的。
ContextLoaderListener
默认为/WEB- INF/application.xml
,DispatcherServlet
默认为/WEB-INF/servletname-servlet.xml
。
如果显式设置这些参数, 则不
应将它们设置为相同的值。在ContextLoaderListener
和DispatcherServlet
应该有套不同的bean定义背景,否则,就像你说的,豆类将两次实例化。