Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SpringMVC(非SpringBoot)应用程序中定制Jackson_Spring_Spring Mvc_Jackson_Jackson Databind - Fatal编程技术网

如何在SpringMVC(非SpringBoot)应用程序中定制Jackson

如何在SpringMVC(非SpringBoot)应用程序中定制Jackson,spring,spring-mvc,jackson,jackson-databind,Spring,Spring Mvc,Jackson,Jackson Databind,SpringMVC4.3.29和Java8(当前的平台约束),以及大部分XML配置,除了一些注释扫描的控制器类 简言之,我希望获得Spring JSON反序列化自动使用的ObjectMapper实例,并将其FAIL\u ON\u UNKNOWN\u属性设置回true 我明白了,但所有的示例似乎都是和/或Java配置。建议的@Autowiredbean(映射器、生成器等)在我的WebSphere环境中都没有任何值 希望我只是缺少一些简单的胶水 编辑:呸,我以为我有这个: @配置 公共类Custom

SpringMVC4.3.29和Java8(当前的平台约束),以及大部分XML配置,除了一些注释扫描的控制器类

简言之,我希望获得Spring JSON反序列化自动使用的
ObjectMapper
实例,并将其
FAIL\u ON\u UNKNOWN\u属性
设置回
true

我明白了,但所有的示例似乎都是和/或Java配置。建议的
@Autowired
bean(映射器、生成器等)在我的WebSphere环境中都没有任何值

希望我只是缺少一些简单的胶水

编辑:呸,我以为我有这个:

@配置
公共类CustomWebConfiguration扩展了WebMVCConfigureAdapter{
@凌驾
public void extendMessageConverters(列表转换器:转换器){
if(映射Jackson2HttpMessageConverter的转换器实例){
((MappingJackson2HttpMessageConverter)转换器).getObjectMapper()。
启用(反序列化功能。在未知属性上失败);
打破
}
}
}
}
使用我的调试器,我可以看到它正在被命中并更改预期标志。但使用时,该行为无效。我不再有任何XML覆盖,但我仍然有“主控”
。我想知道它们是否相互混淆了…

这种“工作原理”,但完全替换了Spring的
ObjectMapper
,它会丢失它所拥有的任何其他自定义项,我真的不想这样做

发件人:



然后我可以
@Autowired
注入这些对象并处理它们,但在这种情况下,我不需要这样做,因为只有一个新的默认Jackson
对象映射器
实际上恢复了我想要的行为。

好的,是的,只要它与
@EnableWebMvc
而不是
结合使用,它就可以工作:

@EnableWebMvc
@配置
公共类CustomWebConfiguration扩展了WebMVCConfigureAdapter{
@凌驾
public void extendMessageConverters(列表转换器:转换器){
if(映射Jackson2HttpMessageConverter的转换器实例){
((MappingJackson2HttpMessageConverter)转换器).getObjectMapper()。
启用(反序列化功能。在未知属性上失败);
打破
}
}
}
}
<bean id="myObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper" ref="myObjectMapper"/>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>