Eng*_*_DJ 28 java spring json spring-mvc jackson
Spring MVC 3.1与Jackson 2.0兼容吗?Spring MVC是否会在类路径上自动检测Jackson,并且使用JSON内容类型的请求委托给Jackson仍有效?
小智 23
凯斯唐纳德(泉源)在一段时间内发布了以下内容.
Spring MVC对Jackson 2的支持; 也适用于杰克逊的原生"漂亮印刷"功能https://gist.github.com/2423129
我没有尝试MappingJackson2HttpMessageConverter
上面的要点,但如果它不起作用,它会让我感到惊讶.
Mic*_*nig 17
从Spring 3.1.2开始,你只需要在你的类路径中添加jackson-databind jar.
在Maven中,您可以像这样配置它:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
其余的魔法将由弹簧自动完成.
请参阅:http://norrisshelton.wordpress.com/2012/07/15/spring-3-mvc-with-json-via-jackson-2-0/
对于Spring 3.1.2和Jackson 2 -
如上所述,自动支持JustWorks™
但配置没有,因为大多数网络都充斥着Spring3/Jackson2之前的配置机制
所以对于后人,我会列出一个黑客(?或者这是官方的方式)来配置Jackson转换器.在这种特殊情况下,我正在配置转换器以ISO-8601格式返回日期:
package foo.bar.JacksonConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.stereotype.Component;
@Component
public class JacksonConfig implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
if (bean instanceof MappingJackson2HttpMessageConverter) {
MappingJackson2HttpMessageConverter jsonConverter =
(MappingJackson2HttpMessageConverter) bean;
ObjectMapper objectMapper = jsonConverter.getObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
jsonConverter.setObjectMapper(objectMapper);
}
return bean;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53579 次 |
最近记录: |