其他分享
首页 > 其他分享> > 注释@EnableSpringDataWebSupport不能与WebMvcConfigurationSupport一起使用?

注释@EnableSpringDataWebSupport不能与WebMvcConfigurationSupport一起使用?

作者:互联网

我一直在使用WebMvcConfigurerAdapter.由于我无法使用getInterceptors()方法获取所有已注册的拦截器,因此我已切换到WebMvcConfigurationSupport,它有许多默认注册的Spring Bean,如ContentNegotiationManager,ExceptionHandlerExceptionResolver usw.

现在我已经意识到,非常方便的DomainClassConverter(使用CrudRepository将域类ID转换为域类对象)默认情况下未注册,尽管我在WebConfig类上使用了注释@EnableSpringDataWebSupport.

当我像这样明确地定义这个bean时,它就适用了.

@EnableSpringDataWebSupport
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
    @Bean
    public DomainClassConverter<?> domainClassConverter() {
        return new DomainClassConverter<FormattingConversionService>(mvcConversionService());
    }
}

但是为什么EnableSpringDataWebSupport不能与WebMvcConfigurationSupport一起使用?

解决方法:

看起来扩展WebMvcConfigurationSupport的配置类直接受到SPR-10565的影响.至少对我而言,解决方案是从DelegatingWebMvcConfiguration扩展.

如果你要覆盖配置类中的单个回调,你可能也想调用超类的回调实现,以确保它们都被正确处理.

标签:spring-mvc,spring,spring-java-config,spring-data-commons
来源: https://codeday.me/bug/20190703/1362419.html