[SPRING] 스프링 3.1이있는 Jackson 2.0
SPRING스프링 3.1이있는 Jackson 2.0
Spring MVC 3.1은 Jackson 2.0과 호환 가능합니까? 스프링 MVC가 클래스 패스에서 Jackson을 자동으로 감지하고 JSON 콘텐츠 유형을 사용하는 요청에 대해 Jackson에게 위임 한 경우에도 사용할 수 있습니까?
해결법
-
==============================
1.Jackson 2에 대한 지원은 Spring 3.2에 추가되었으며 Spring 3.1.2 (SPR-9507)로 다시 백 포트되었습니다.
Jackson 2에 대한 지원은 Spring 3.2에 추가되었으며 Spring 3.1.2 (SPR-9507)로 다시 백 포트되었습니다.
-
==============================
2.Keith Donald (스프링 소스)는 다음과 같이 잠시 뒤를 이어졌습니다.
Keith Donald (스프링 소스)는 다음과 같이 잠시 뒤를 이어졌습니다.
위의 요지에서 찾은 MappingJackson2HttpMessageConverter를 시도하지는 않았지만 작동하지 않는다면 놀라게 할 것입니다.
-
==============================
3.Spring 3.1.2부터는 classpath에 jackson-databind jar를 추가하기 만하면된다.
Spring 3.1.2부터는 classpath에 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>
나머지 마법은 봄에 자동으로 수행됩니다.
참조 : http://norrisshelton.wordpress.com/2012/07/15/spring-3-mvc-with-json-via-jackson-2-0/
-
==============================
4.Spring 3.1.2 및 Jackson 2 -
Spring 3.1.2 및 Jackson 2 -
그래서 후손을 위해 잭슨 변환기를 구성하기위한 해킹 (또는 공식적인 방법)을 나열 할 것입니다. 이 특별한 경우에는 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; } }
-
==============================
5.분명한 것은, Spring 3.1은 Jackson 2를 기본적으로 지원하지 않는다는 것입니다. Spring 3.2에 있습니다.
분명한 것은, Spring 3.1은 Jackson 2를 기본적으로 지원하지 않는다는 것입니다. Spring 3.2에 있습니다.
-
==============================
6.Jackson 2.0과 호환되는 Spring MVC 3.1을 테스트하지 않았습니다. 하지만 3.0.5 호환 문제가 발생합니다. 마지막으로 나는 Spring MVC 3.0.5가 Jackson 1.0.0과 만 호환된다는 것을 발견했다. 확실히 Jackson 1.5.3은 호환되지 않는다 !!!
Jackson 2.0과 호환되는 Spring MVC 3.1을 테스트하지 않았습니다. 하지만 3.0.5 호환 문제가 발생합니다. 마지막으로 나는 Spring MVC 3.0.5가 Jackson 1.0.0과 만 호환된다는 것을 발견했다. 확실히 Jackson 1.5.3은 호환되지 않는다 !!!
from https://stackoverflow.com/questions/10420040/jackson-2-0-with-spring-3-1 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring logging DEBUG 메시지를 비활성화하는 방법은 무엇입니까? (0) | 2018.12.10 |
---|---|
[SPRING] @Foo 커스텀 어노테이션으로 모든 빈을 어떻게 찾을 수 있습니까? (0) | 2018.12.10 |
[SPRING] @ComponentScan의 특정 패키지 필터링 (0) | 2018.12.10 |
[SPRING] Join 테이블의 추가 속성을 위해 많은 수의 최대 절전 모드 매핑을 만드는 방법은 무엇입니까? (0) | 2018.12.10 |
[SPRING] 봄 보안 사용자 정의 필터를 작성하는 방법? (0) | 2018.12.10 |