Spring MVC 3.1是否兼容Jackson 2.0? Spring MVC會在類路徑中自動檢測Jackson,並且向Jackson請求帶有JSON內容類型的請求仍然有效嗎?Jackson 2.0 with Spring 3.1
回答
基思唐納德(春源)推文以下一段時間。
對Jackson 2的Spring MVC支持;還與傑克遜的本地 「漂亮打印」功能https://gist.github.com/2423129
工作我還沒有試過在上述要點中發現的MappingJackson2HttpMessageConverter
,但如果它不工作,它讓我感到吃驚。
需要明確的是,春季3.1沒有爲傑克遜2.這是在春季的原生支持3.2
這是在3.1.2中添加的。 –
對於彈簧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;
}
}
我敢肯定,這不是官方的方式,但它非常聰明! –
這裏描述了「官方」配置方法:http://wallsofchange.wordpress。COM/2013/02/02 /彈簧MVC-REST的服務力 - 傑克遜對序列化,日期,如異-8601-日期/。 Jackson 2的唯一區別是你必須使用'MappingJackson2HttpMessageConverter'而不是'MappingJacksonHttpMessageConverter'和'SerializationFeature.WRITE_DATES_AS_TIMESTAMPS'而不是'SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS'。 –
@Ryan這個作品很棒 – oers
由於春季3.1.2你只需要傑克遜,數據綁定 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>
神奇的其餘部分將通過彈簧自動完成。
請參見:http://norrisshelton.wordpress.com/2012/07/15/spring-3-mvc-with-json-via-jackson-2-0/
男人,我發瘋了,直到我找到了這個。真的感謝! –
我沒有測試Spring MVC的3.1與2.0傑克遜兼容。但是我遇到3.0.5兼容問題。最後我發現Spring MVC 3.0.5只與Jackson 1.0.0兼容,肯定Jackson 1.5.3不兼容!
- 1. @Cacheable with Spring 3.1
- 2. Jackson Custom Deserializer/Serializer with Spring MongoTemplates
- 3. junit 4 with spring mvc 3.1
- 4. JPA 2.0 + SPRING 3.1 + Weblogic 10.3.5
- 5. spring 3.1 with spring 4 with spring security 3.1:如何確保在spring安全性之前提供交易建議。
- 6. JSF 2.0,Spring 3.1和Hibernate 4.0集成
- 7. jackson with jaxb
- 8. Liferay 6.1 with spring 3.1 and hibernate 4.1.5
- 9. Spring 3.1 with spring 4 with spring security 3.1:我如何確保包含所有的dependencis以及包含哪些標籤?
- 10. Parse Json with Jackson Android
- 11. Jackson循環引用(2.0)
- 12. DOTCMIS with Alfresco 3.1
- 13. fasterxml jackson 2.0+和MixIn
- 14. Spring Jackson Mapper
- 15. Spring Boot Jackson - Logging
- 16. RESTEasy + Spring + Jackson + Jaxb
- 17. Spring 4 with Hibernate
- 18. Spring with REST
- 19. Spring MVC 4 + Jackson + LocalDate
- 20. Spring MVC 3 - Jackson - AjaxForm
- 21. Bootsrap 3.1 with laravel 4.0
- 22. Jackson JSON List with Object Type
- 23. Jackson Custom Serializer for class with annotations
- 24. Spring MVC 3.2 Jackson Bad Request
- 25. JSF 2.0 selctOneMenu with SelectItems
- 26. Jersey Jackson和Spring Service
- 27. oAuth 2.0 with Titanium
- 28. LibGDX with openGL 2.0
- 29. With.Parameters.ConstructorArgument with ninject 2.0
- 30. Spring Security 3.1
他們爲什麼不呢?你有沒有試過,發現它不起作用? –
http://stackoverflow.com/questions/10085088/jackson-annotations-being-ignored-in-spring –