WebMvcAutoConfigurationAdapter

WebMvcAutoConfigurationAdapter

我想将一个Web项目更新为Spring Boot 1.4,但是却出现错误。

我目前正在使用Spring Boot 1.3.3,并且正在扩展WebMvcAutoConfigurationAdapter来映射一些自定义资源处理程序:

@Configuration
public class MvcConfiguration extends WebMvcAutoConfigurationAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        super.addResourceHandlers(registry);
        registry.addResourceHandler("/images/users/**").addResourceLocations("http://file-storage/images/users/");
        // ...

}

我注意到在SB的新版本中,向WebMvcAutoConfigurationAdapter添加了一个构造函数:
public WebMvcAutoConfigurationAdapter(ResourceProperties resourceProperties,
        WebMvcProperties mvcProperties, ListableBeanFactory beanFactory,
        HttpMessageConverters messageConverters,
        ObjectProvider<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizerProvider) {}

并且此构造函数使用的ResourceHandlerRegistrationCustomizer是受程序包保护的接口(interface),因此从1.4版开始,基本上不可能扩展自动配置。

扩展自动配置的另一种方法是什么?

最佳答案

无需扩展WebMvcAutoConfigurationAdapter即可添加一些自定义资源处理程序(而且从未如此)。您应该改为扩展Spring MVC的 WebMvcConfigurerAdapter

09-27 03:18