Maison > Java > javaDidacticiel > Comment puis-je empêcher Jackson de sérialiser les attributs paresseux non récupérés au printemps ?

Comment puis-je empêcher Jackson de sérialiser les attributs paresseux non récupérés au printemps ?

Barbara Streisand
Libérer: 2024-11-28 20:16:15
original
230 Les gens l'ont consulté

How Can I Prevent Jackson from Serializing Unfetched Lazy Attributes in Spring?

Résoudre le problème de sérialisation des objets paresseux avec Jackson

Votre aspiration à empêcher Jackson de sérialiser des attributs paresseux non récupérés a une résolution simple. Grâce à la précieuse contribution d'Indybee, nous avons découvert une solution qui fonctionne avec vos versions actuelles de Spring, Hibernate et Jackson.

Les versions Spring 3.1.2 et ultérieures introduisent un MappingJackson2HttpMessageConverter amélioré qui intègre la fonctionnalité du convertisseur personnalisé mentionné dans le didacticiel Spring 3.1. Pour tirer parti de ce convertisseur, étendez votre classe de configuration Spring à partir de WebMvcConfigurerAdapter et remplacez la méthode configureMessageConverters.

Dans la méthode configureMessageConverters, ajoutez le MappingJackson2HttpMessageConverter avec le Hibernate4Module enregistré. Dans la configuration Java, cela pourrait ressembler à :

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(jacksonMessageConverter());
    super.configureMessageConverters(converters);
}
Copier après la connexion

Pour une configuration XML, créez un HibernateAwareObjectMapper personnalisé comme suggéré dans le didacticiel :

<mvc:message-converters>
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="objectMapper">
            <bean class="com.pastelstudios.json.HibernateAwareObjectMapper" />
        </property>
    </bean>
</mvc:message-converters>
Copier après la connexion

Cette solution intègre de manière transparente le Hibernate4Module avec la valeur par défaut de Spring. convertisseur de messages, garantissant que les objets paresseux non récupérés ne sont pas sérialisés par Jackson.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal