Подтвердить что ты не робот

Разница между WebMvcConfigurationSupport и WebMvcConfigurerAdapter

Я хотел бы добавить обработчики ресурсов. На форуме они используют WebMvcConfigurationSupport: http://forum.springsource.org/showthread.php?116068-How-to-configure-lt-mvc-resources-gt-mapping-to-take-precedence-over-RequestMapping&p=384066#post384066

и docs скажем WebMvcConfigurerAdapter: http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/web/servlet/config/annotation/EnableWebMvc.html

Какая разница и какой из них использовать? У обоих есть метод addResourceHandlers, который мне нужен.

Это мой текущий класс:

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    public @Override void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources");
    }

    public @Bean TilesViewResolver tilesViewResolver() {
        return new TilesViewResolver();
    }

    public @Bean TilesConfigurer tilesConfigurer() {
        TilesConfigurer ret = new TilesConfigurer();
        ret.setDefinitions(new String[] { "classpath:tiles.xml" });
        return ret;
    }
}
4b9b3361

Ответ 1

Ответ указан в документе, на который вы ссылались выше:

Если параметры настройки WebMvcConfigurer не раскрываются что вам нужно настроить, подумайте об удалении @EnableWebMvc аннотация и расширение непосредственно из WebMvcConfigurationSupport переопределение выбранных методов @Bean

Короче говоря, если @EnableWebMvc работает для вас, нет необходимости смотреть дальше.

Ответ 2

Лучше расширить WebMvcConfigurationSupport. Он предоставляет больше возможностей настройки, а также отлично работает с

configureMessageConverters(List<HttpMessageConverter<?>> converters) 

вы можете добавить эти преобразователи, используя

addDefaultHttpMessageConverters(converters);

который недоступен в WebMvcConfigurerAdapter.

Нажмите [здесь] Как настроить MappingJacksonHttpMessageConverter при использовании spring аннотационной конфигурации?

Если вы расширяете WebMvcConfigurerAdapter, он ведет себя странно с настройкой Jackson и Jaxb. Это случилось со мной!

Ответ 3

если вы используете класс ConfigurationSupport, приготовьтесь к оцепенению при работе с статическими ресурсами, потому что он не работает.