我想将 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/