春季4中register-defaults ="false"的等价物是什么?

Den*_*edo 7 java spring spring-mvc

如何配置我的自定义消息转换器以register-defaults="false"使用Spring 4的无XML项目?

<mvc:annotation-driven register-defaults="false">
  <mvc:message-converters>
    <bean class="myproject.MyCustomHttpMessageConverter"/>
  </mvc:message-converters>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)

目前我有这个Configuration:

@Configuration
@EnableWebMvc
@ComponentScan
public class TestDataConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converters.add(converter);
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

sha*_*zin 7

您的Java配置与register-defaults="false"XML配置中的配置类似.你不需要做任何事情.但是,如果要注册默认值,则必须从WebMvcConfigurationSupport下面的代码片段中扩展并添加最后一行.

@Configuration
@EnableWebMvc
@ComponentScan
public class TestDataConfig extends WebMvcConfigurationSupport {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converters.add(converter);
        super.addDefaultHttpMessageConverters(); // Have to call this explicitly to register Default Message Converters.
    }
}
Run Code Online (Sandbox Code Playgroud)