SpringMVC-@EnableWebMvc
SpringMVC-@EnableWebMvc
在之前的学习中,使用@EnableWebMvc注解修饰mvc的配置类后,就可以让handlerAdapter拥有处理Json的能力
其实这个注解做的远远不止这些
这个注解在早期使用xml配置的时候对应的是<mvc:annotation-driven>标签
这个标签使用AnnotationDrivenBeanDefinitionParser()类进行一系列操作
RootBeanDefinition handlerMappingDef = new RootBeanDefinition(RequestMappingHandlerMapping.class);
RootBeanDefinition handlerAdapterDef = new RootBeanDefinition(RequestMappingHandlerAdapter.class);
// 加JSON处理器
this.addRequestBodyAdvice(handlerAdapterDef);
this.addResponseBodyAdvice(handlerAdapterDef);
从这个源码我们可以了解到,@EnableWebMvc三个关键的行为:
- 初始化RequestMappingHandlerMapping
- 初始化RequestMappingHandlerAdapter
- 将Jackson添加到handlerAdapter中
MvcConfig
综上所述,我们在mvc的配置文件中无需自己配置HandlerMapping和HandlerAdapter
@EnableWebMvc
@Configuration
@ComponentScan("com.xiaobai.controller")
public class MVCConfig {
}