Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menggunakan Spring Menggunakan ObjectMapper Tersuai Saya untuk Pensirian dan Penyahserikatan?
Mengkonfigurasi ObjectMapper pada Musim Bunga
Pada Musim Bunga, ObjectMapper boleh dikonfigurasikan untuk menyesuaikan gelagat proses bersiri dan penyahsirian. Satu kes penggunaan biasa adalah untuk mengecualikan medan daripada bersiri melainkan ia dianotasi dengan anotasi tertentu, seperti @JsonProperty.
Masalah:
Apabila mengkonfigurasi ObjectMapper ke hanya bersiri medan beranotasi dengan @JsonProperty, kelas NumbersOfNewEvents masih mengandungi semua atribut dalam JSON bersiri.
Jawapan:
Kunci untuk memahami isu ini ialah CompanyObjectMapper tersuai yang ditakrifkan dalam servlet.xml tidak digunakan oleh Spring. Penyelesaiannya adalah untuk menganotasi kacang CompanyObjectMapper dengan @Configuration dan mentakrifkannya sebagai kaedah kacang dalam kelas konfigurasi Spring. Ini akan memastikan bahawa ObjectMapper tersuai diambil dan digunakan oleh Spring.
Berikut ialah contoh cara untuk mencapainya dengan Spring Boot:
@Configuration public class JacksonConfiguration { @Bean public ObjectMapper objectMapper() { return new CompanyObjectMapper(); } }
Konfigurasi ini mengatasi kacang ObjectMapper lalai dan memastikan bahawa CompanyObjectMapper tersuai digunakan untuk bersiri dan penyahserilan.
Nota: VisibilityChecker yang ditakrifkan dalam kelas CompanyObjectMapper tidak mempunyai kesan ke atas penyiaran menggunakan Jackson 2.4.6. Untuk mengecualikan medan daripada bersiri, gunakan anotasi @JsonIgnore sebaliknya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Spring Menggunakan ObjectMapper Tersuai Saya untuk Pensirian dan Penyahserikatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!