Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menghalang Jackson daripada Mensiri Atribut Malas Tidak Diambil pada Musim Bunga?

Bagaimanakah Saya Boleh Menghalang Jackson daripada Mensiri Atribut Malas Tidak Diambil pada Musim Bunga?

Barbara Streisand
Barbara Streisandasal
2024-11-28 20:16:15186semak imbas

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

Menangani Isu Pensirilan Objek Malas dengan Jackson

Aspirasi anda untuk menghalang Jackson daripada membuat siri atribut malas yang tidak diambil mempunyai penyelesaian yang mudah. Terima kasih kepada input berharga daripada indybee, kami telah menemui penyelesaian yang berfungsi dengan versi Spring, Hibernate dan Jackson semasa anda.

Versi Spring 3.1.2 dan kemudiannya memperkenalkan MappingJackson2HttpMessageConverter yang dipertingkatkan yang menggabungkan fungsi penukar tersuai yang disebut dalam tutorial Spring 3.1. Untuk memanfaatkan penukar ini, lanjutkan kelas konfigurasi Spring anda daripada WebMvcConfigurerAdapter dan gantikan kaedah configureMessageConverters.

Dalam kaedah configureMessageConverters, tambahkan MappingJackson2HttpMessageConverter dengan Hibernate4Module yang didaftarkan. Dalam konfigurasi Java, ini mungkin menyerupai:

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(jacksonMessageConverter());
    super.configureMessageConverters(converters);
}

Untuk konfigurasi XML, cipta HibernateAwareObjectMapper tersuai seperti yang dicadangkan dalam tutorial:

<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>

Penyelesaian ini menyepadukan Hibernate4Module dengan lalai Spring dengan lancar penukar mesej, memastikan objek malas yang tidak diambil tidak disiri oleh Jackson.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Jackson daripada Mensiri Atribut Malas Tidak Diambil pada Musim Bunga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn