在web.xml设置监听器:org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.ContextLoaderListener
在此类(ContextLoaderListener)中有如下方法:
public void contextInitialized(ServletContextEvent event) {
this.contextLoader = createContextLoader();
this.contextLoader.initWebApplicationContext(event.getServletContext());
}
org.springframework.web.context.ContextLoader
在此类中有如下变量: public static final String CONTEXT_CLASS_PARAM = "contextClass";
public static final String CONFIG_LOCATION_PARAM = "contextConfigLocation";
如下方法:initWebApplicationContext,createWebApplicationContext
第一个方法调用了第二个方法,第二个方法则通过如下代码初始为了一个上下文环境
String configLocation = servletContext.getInitParameter(CONFIG_LOCATION_PARAM);
注:另外一点如下的DispatcherServlet设置会自动加载petstore-servlet.xml环境,原理我查了半天我也不知道怎么搞的.
petstore
org.springframework.web.servlet.DispatcherServlet
2