0123ctSecton 65.3表明我可以通过提供我自己的替换默认的ObjectMapper。我没有使用引导,只是一个构建到.war并在tomcat中运行的Spring WebMVC应用程序。弹簧4(无引导)与自定义杰克逊ObjectMapper
它实例化我的ObjectMapper,但不使用它。我使用调试器追踪为什么时间戳仍然以数字形式出现,并且发现它使用的是ObjectMapper的另一个实例。这不是很清楚,我是从哪里来的,为什么这不会导致其只能使用雷:
@Primary
@Bean
public ObjectMapper localObjectMapper() {
JodaMapper mapper = new JodaMapper();
mapper.setWriteDatesAsTimestamps(false);
mapper.getSerializationConfig().with(SerializationFeature.INDENT_OUTPUT)
.without(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
.without(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS)
.without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return mapper;
}
以上是这绝对得到加载的@Configure豆。
我以上采用的方法在Spring 3中工作得很好,而不是当我修改到4.2.2时。我也读过Jackson Integration Improvements,并尝试了其中的方法,达到相同的效果。
--Chris
是'JodaMapper'你的类是否扩展了ObjectMapper?你有'WebMvcConfigurerAdapter'在哪里注册一个'MappingJackson2HttpMessageConverter'? –
JodaMapper确实是一个扩展ObjectMapper的类,但我没有写它 - 它是jackson-datatype-joda的一个内置部分。它是一个简短的子类,主要是调用super()然后注册新的JodaModule(),然后为它所支持的Joda类型注册串行器/解串器。 我有一个WebMvcConfigurerAdapter,我注册了一个MappingJackson2HttpMessagConverter。它似乎没有什么区别,但它应该有? Spring是否会找到ObjectMapper的机制? – wz2b
你有没有解决这个问题? –