前面博客中springmvc学习一初始化源码
记录了handlerMapping在初始化的时候,会解析当前bean中url和handlerMethod的映射关系,但是有一个点忽略了,那就是handlerMapping和handlerAdapter自身是在什么被初始化的
@EnableWebMvc
这个注解是Java快捷配置mvc的,在使用该注解之后,再添加一个WebMvcConfigurerAdapter的实现类,即可
@EnableWebMvc会通过@Import注入一个bean:DelegatingWebMvcConfiguration
DelegatingWebMvcConfiguration是WebMvcConfigurationSupport 的子类
在WebMvcConfigurationSupport类中,通过@Bean的形式,把RequestMappingHandlerAdapter、SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter、RequestMappingHandlerMapping、BeanNameUrlHandlerMapping 这五个bean注入到了spring容器中
在springmvc项目中,如果我们不使用@EnableWebMvc注解,那就需要自己去继承WebMvcConfigurationSupport,然后把自己实现的类,注