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!