在springboot mvc或者java config配置中,如果我们项配置mvc相关的一些配置,那么就会涉及到这三个注解中的某个,那么他们之间有什么关系呢。
@EnableWebMvc = WebMvcConfigurationSupport,使用@EnableWebMvc注解就等于扩展了WebMvcConfigurationSupport,但是没有扩展任何方法。具体用法有如下三种:
@EnableWebMvc+extends WebMvcConfigurationAdapter,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置。
extends WebMvcConfigurationSupport,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置。
extends WebMvcConfigurationAdapter,在扩展的类中重写父类的方法即可,这种方式依旧使用springboot的@EnableAutoConfiguration中的设置。
前两种用法会屏蔽springboot的@EnableAutoConfiguration中的设置,最后一种用法则不会屏蔽默认设置,所以要使用部分spring mvc默认配置的话,就需要使用第三种配置方式。