Spring에서 ObjectMapper 구성
Spring에서는 직렬화 및 역직렬화 프로세스의 동작을 사용자 정의하도록 ObjectMapper를 구성할 수 있습니다. 일반적인 사용 사례 중 하나는 @JsonProperty와 같은 특정 주석으로 주석이 추가되지 않는 한 필드를 직렬화에서 제외하는 것입니다.
문제:
ObjectMapper를 다음과 같이 구성할 때 @JsonProperty로 주석이 달린 필드만 직렬화합니다. NumbersOfNewEvents 클래스에는 여전히 직렬화된 필드의 모든 속성이 포함되어 있습니다. JSON.
답변:
이 문제를 이해하는 열쇠는 servlet.xml에 정의된 사용자 정의 CompanyObjectMapper가 Spring에서 사용되지 않는다는 것입니다. 해결책은 @Configuration으로 CompanyObjectMapper 빈에 주석을 달고 이를 Spring 구성 클래스의 빈 메소드로 정의하는 것입니다. 이렇게 하면 사용자 정의 ObjectMapper가 Spring에서 선택되어 사용됩니다.
다음은 Spring Boot로 이를 달성하는 방법에 대한 예입니다.
@Configuration public class JacksonConfiguration { @Bean public ObjectMapper objectMapper() { return new CompanyObjectMapper(); } }
이 구성은 기본 ObjectMapper Bean을 재정의하고 사용자 정의 CompanyObjectMapper가 직렬화에 사용되는지 확인하고
참고: CompanyObjectMapper 클래스에 정의된 VisibilityChecker는 Jackson 2.4.6을 사용하는 직렬화에 영향을 주지 않습니다. 직렬화에서 필드를 제외하려면 @JsonIgnore 주석을 대신 사용하세요.
위 내용은 Spring이 직렬화 및 역직렬화를 위해 내 사용자 정의 ObjectMapper를 사용하도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!