Spring MVC 3.1 è compatibile con Jackson 2.0? Il rilevamento automatico di Spring MVC sul classpath di Will Spring e la delega a Jackson per le richieste con un tipo di contenuto JSON funzionano ancora?Jackson 2.0 con Spring 3.1
risposta
supporto per Jackson 2 è stato aggiunto nella primavera del 3.2, e ha anche backport alla primavera 3.1.2 (SPR-9507)
Dovrai cambiare il tuo pom.xml se stai migrando da 1.x ('Passo 1: Aggiorna dipendenze Maven/JAR 'da http://www.cowtowncoder.com/blog/archives/2012/04/ entry_469.html è tutto ciò di cui hai bisogno per il supporto incorporato da aggancio) – Manav
Keith Donald (di fonte primavera) ha twittato il seguente un po 'di tempo fa.
Supporto MVC molla per Jackson 2; funziona anche con nativo caratteristica di Jackson "pretty print" https://gist.github.com/2423129
Non ho provato il MappingJackson2HttpMessageConverter
trovato nel succo sopra, ma mi sorprenderebbe se non ha funzionato.
Per essere chiari, Primavera 3.1 non ha il supporto nativo per Jackson 2. E 'nella primavera del 3,2
Questo è stato aggiunto in 3.1.2. –
Per Spring 3.1.2 e Jackson 2 -
Come indicato sopra, le JustWorks sostegno automatico ™
ma la configurazione non lo fa, come la maggior parte del web è disseminato di pre meccanismi di configurazione Spring3/Jackson2
Così, per i posteri, ti elenco fuori un hack (? o è questo il modo ufficiale) per configurare il convertitore Jackson. In questo caso particolare, io sono la configurazione del convertitore di restituire le date nel formato 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;
}
}
Sono sicuro che non è il modo ufficiale ma è molto intelligente! –
Il metodo "ufficiale" di configurazione di questo è descritto qui: http: //wallsofchange.wordpress.com/2013/02/02/primavera-MVC-riposo-servizi-forza-jackson-to-date serializzare-as-iso-8601-date /. L'unica differenza per Jackson 2 è che devi usare 'MappingJackson2HttpMessageConverter' invece di' MappingJacksonHttpMessageConverter' e 'SerializationFeature.WRITE_DATES_AS_TIMESTAMPS' invece di' SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS'. –
@Ryan funziona alla grande – oers
Dalla primavera 3.1.2 è sufficiente aggiungere jackson-databind jar al classpath.
In Maven è possibile configurare in questo modo:
<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>
Il resto della magia sarà fatto entro la primavera automaticamente.
Vedi: http://norrisshelton.wordpress.com/2012/07/15/spring-3-mvc-with-json-via-jackson-2-0/
Man, stavo impazzendo fino a quando ho trovato questo. Grazie davvero! –
non ho la prova Spring MVC 3.1 compatibile con Jackson 2.0. Ma ho riscontrato un problema compatibile con 3.0.5. Infine trovo che Spring MVC 3.0.5 sia compatibile solo con Jackson 1.0.0, sicuramente Jackson 1.5.3 non è compatibile !!!
- 1. Spring 3.1 Formato data JSON
- 2. Spring Security 3.1
- 3. spring 3.1 @Esempio collegabile
- 4. Spring 3.1 REST con JSON: non funziona
- 5. HibernateInterceptor con spring 3.1 e hibernate 4.01
- 6. Spring MVC + Jackson + Guava multimap
- 7. Spring 3.1 + Hibernate 4 - HibernateTemplate
- 8. Spring Security 3.1 Run-As
- 9. Integrazione GWT 2.0 con Spring Security 3.0
- 10. Spring 3.0 ORM con JPA 2.0 ClassCastException
- 11. Spring Security 3.1 utilizzando Active Directory
- 12. Jackson serializzazione personalizzata in Spring 3 MVC
- 13. Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError: NULL Errore
- 14. Spring 3.1 HandlerInterceptor Non viene chiamato
- 15. spring security 3.1. autenticazione personalizzata-failure-url con parametri url
- 16. Perché il test dell'unità con Spring 3.1 WebMvcConfig non riesce?
- 17. Spring 3.1 @Cacheable - metodo ancora eseguito
- 18. REST con Spring e Jackson dati completi binding
- 19. Problema Deserializzazione con Jackson usando annotazioni JAXB in Spring MVC
- 20. Jackson vs. Spring HATEOAS vs. Polymorphism
- 21. Serializzare enumerazioni con Jackson
- 22. Spring configurazione 3.1: ambiente non iniettato
- 23. Spring 3.1 Astrazione cache senza parametri
- 24. Come dichiarare un bean gestito JSF in un'applicazione Spring 3.1?
- 25. Analisi di un array di oggetti JSON utilizzando Jackson 2.0
- 26. Oauth 2.0 Android usa Spring-For-Android
- 27. Eccezione in GWT Dev Mode + Spring 3.1 + Hibernate 4.0.1
- 28. Spring Security UI and grails 2.0
- 29. Duplicate JSON Field con Jackson
- 30. come ottenere i ruoli utente correnti da spring security 3.1
Perché non dovrebbero? Hai provato e osservato che non funziona? –
http://stackoverflow.com/questions/10085088/jackson-annotations-being-ignored-in-spring –