java - 无法在 Spring Boot 1.4 中扩展 WebMvcAutoConfigurationAdapter

标签 java spring spring-mvc spring-boot

我想将 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相反。

关于java - 无法在 Spring Boot 1.4 中扩展 WebMvcAutoConfigurationAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38790681/

相关文章:

java - 如何使用 JSTL 根据 Map 中的键显示多个表?

javascript - 重定向到 spring mvc Controller 而不打开页面

java - Cassandra 和二进制文件

java - 如何根据以下字符/单词匹配 URI 字符串的特定部分

java - long 类型的方法参数缺少 URI 模板变量 'id'

java - 修改在 Spring Data REST 投影后面生成的 SQL 查询

java - 如何根据一些 session 信息 Autowiring Spring bean

java - model.addAttribute() 对于每个循环

java - 如何添加 f :ajax tag to a dynamically generated checkbox? 的等效值

java - 由另一个 Activity 打开位于应用程序目录中的文档