> Java > java지도 시간 > 가져오지 않은 게으른 개체에서 Jackson 직렬화 예외를 방지하려면 어떻게 해야 합니까?

가져오지 않은 게으른 개체에서 Jackson 직렬화 예외를 방지하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-17 17:20:11
원래의
660명이 탐색했습니다.

How Can I Prevent Jackson Serialization Exceptions from Unfetched Lazy Objects?

가져오지 않은 게으른 객체에 대한 Jackson 직렬화 방지

문제

애플리케이션에서 게으른 객체를 사용할 때 다음과 같은 경우 Jackson을 사용하여 직렬화하면 예외가 발생할 수 있습니다. 게으른 개체를 가져오지 않았습니다. 예를 들어 Jackson 직렬화를 사용하여 지연 로드된 "좌표" 속성이 있는 사용자를 검색하려고 할 때 이 문제가 발생할 수 있습니다.

해결책

Jackson이 가져오지 않은 지연 객체를 직렬화하는 것을 방지하려면 사용자 정의 MappingJackson2HttpMessageConverter는 애플리케이션의 HttpMessageConverters에 생성되고 등록될 수 있습니다. 이 사용자 정의 변환기는 HibernateAwareObjectMapper를 사용하여 게으른 객체를 지원하도록 Jackson을 구성할 수 있습니다.

1. WebMvcConfigurerAdapter 확장

WebMvcConfigurerAdapter를 확장하고configureMessageConverters 메서드를 재정의하는 구성 클래스를 만듭니다.

2. HibernateAwareObjectMapper 생성(XML 구성의 경우 선택 사항)

XML 구성을 사용하는 경우 지연 객체를 지원하는 사용자 정의 HibernateAwareObjectMapper를 생성합니다.

3. Hibernate4Module 등록

configureMessageConverters 메소드에서 새로운 MappingJackson2HttpMessageConverter를 생성하고 여기에 Hibernate4Module을 등록합니다. 이 모듈을 사용하면 Jackson이 게으른 개체를 처리할 수 있습니다.

4. ObjectMapper를 Converter로 설정

HibernateAwareObjectMapper 또는 등록된 모듈을 사용하여 MappingJackson2HttpMessageConverter를 구성합니다.

5. HttpMessageConverters에 변환기 추가

super.configureMessageConverters(converters) 메서드를 호출하여 목록에 사용자 정의 변환기를 추가합니다.

지연 객체에 대한 Jackson 지원 구성

XML 구성: mvc:message-converters 요소를 다음으로 수정합니다. 사용자 정의 HibernateAwareObjectMapper와 함께 MappingJackson2HttpMessageConverter를 사용합니다.

Java 구성: jacksonMessageConverter 메소드를 사용하여 MappingJackson2HttpMessageConverter를 생성 및 구성한 다음 이를 HttpMessageConverters에 추가합니다. list.

결론

이 단계를 수행하면 Jackson이 게으른 개체를 적절하게 처리하고 직렬화 중에 예외를 방지하도록 구성할 수 있습니다. 이 솔루션은 MappingJackson2HttpMessageConverter 및 Hibernate4Module의 내장 기능을 활용하여 Jackson 직렬화에서 지연 객체를 원활하게 지원합니다.

위 내용은 가져오지 않은 게으른 개체에서 Jackson 직렬화 예외를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿