EnableWebMvc vs WebMvcConfigurationSupport
- spring doc解释
WebMvcConfigurationSupport: This is the main class providing the configuration behind the MVC Java config. It is typically imported by adding @EnableWebMvc to an application @Configuration class
- @EnableWebMvc
- To customize the imported configuration, implement the interface WebMvcConfigurer and override individual methods
- If WebMvcConfigurer does not expose some more advanced setting that needs to be configured consider removing the @EnableWebMvc annotation and extending directly from WebMvcConfigurationSupport or DelegatingWebMvcConfiguration
- // 使用@EnableWebMvc注解会覆盖自定义的WebMvcConfigurationSupport配置
- 二者的共同点
- 都是为了配置MVC
- 二者的区别
- @EnableWebMvc注解的实现是基于WebMvcConfigurationSupport,详见@EnableWebMvc的doc
- 三种应用形式只能选其一,如果自定义的WebMvcConfigurationSupport与@EnableWebMvc共同存在,则自定义的WebMvcConfigurationSupport配置会被覆盖
- 自定义(高级模式): 继承WebMvcConfigurationSupport
- 自定义(极简模式): @EnableWebMvc注解+实现WebMvcConfigurer接口
- 默认模式: 使用@EnableWebMvc注解