SpringMVc源码学习

在DispatcherServlet 的父类FrameworkServlet中,有一段代码:

public void onApplicationEvent(ContextRefreshedEvent event) {
		this.refreshEventReceived = true;
		onRefresh(event.getApplicationContext());
	}

@Override
	protected void onRefresh(ApplicationContext context) {
		initStrategies(context);
	}

	/**
	 * Initialize the strategy objects that this servlet uses.
	 * <p>May be overridden in subclasses in order to initialize further strategy objects.
	 */
	protected void initStrategies(ApplicationContext context) {
		initMultipartResolver(context);
		initLocaleResolver(context);
		initThemeResolver(context);
		initHandlerMappings(context);
		initHandlerAdapters(context);
		initHandlerExceptionResolvers(context);
		initRequestToViewNameTranslator(context);
		initViewResolvers(context);
		initFlashMapManager(context);
	}
 

 这里监听spring容器refresh事件,在abstartappcontionContext类中的publish事件中会调用,进行onrefresh方法调用,进行springmvc的初始化,加载一个策略,创建一些类,如果没有指定,则取默认的类

 http://www.cnblogs.com/fangjian0423/p/springMVC-directory-summary.html

1.详解SpringMVC请求的时候是如何找到正确的Controller

2.详解SpringMVC中Controller的方法中参数的工作原理

猜你喜欢

转载自cainiaoboke.iteye.com/blog/2332997