【问题标题】:Spring MVC. Define custom HttpMessageConverter over XML configuration file春天MVC。通过 XML 配置文件定义自定义 HttpMessageConverter
【发布时间】:2013-11-18 08:59:42
【问题描述】:

经过半天的谷歌搜索,我设法在配置类上注册了一个自定义 HttpMessageConverter。像这样:

@Configuration
public class WebConfig extends WebMvcConfigurationSupport {

 @Bean
 @Override
 public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
    RequestMappingHandlerAdapter handlerAdapter = super.requestMappingHandlerAdapter();
    handlerAdapter.getMessageConverters().add(0, new CustomConverter());
    return handlerAdapter;
 }
}

有没有办法使用 XML 配置文件来做到这一点?

【问题讨论】:

标签: java spring-mvc


【解决方案1】:

这是 Spring 3.2 的答案:

<mvc:annotation-driven >
    <mvc:message-converters register-defaults="false">
        <bean class="me.MyCustomMessageConverter"/>
        <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="writeAcceptCharset" value="false"/>
        </bean>
   </mvc:message-converters>
</mvc:annotation-driven>

不要忘记定义mvc命名空间:http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

我没有找到,如何在转换器列表的顶部添加自己的转换器。可以使用register-defaults 属性重新定义转换器堆栈。

标准栈在这个Spring类RequestMappingHandlerAdapter的构造函数中定义。可以从那里复制所需的转换器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2012-01-11
    • 2018-10-30
    • 2016-03-27
    相关资源
    最近更新 更多