Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menggunakan Spring Menggunakan ObjectMapper Tersuai Saya untuk Pensirian dan Penyahserikatan?

Bagaimanakah Saya Boleh Menggunakan Spring Menggunakan ObjectMapper Tersuai Saya untuk Pensirian dan Penyahserikatan?

Barbara Streisand
Barbara Streisandasal
2024-12-05 10:24:12216semak imbas

How Can I Make Spring Use My Custom ObjectMapper for Serialization and Deserialization?

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!

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