Bagaimana Menentukan Peta di YAML untuk POJO?

Java Top

Saya baru saja mengumumkan kursus Learn Spring baru , yang berfokus pada dasar-dasar Spring 5 dan Spring Boot 2:

>> LIHAT KURSUSnya

1. Ikhtisar

Dalam tutorial ini, kita akan membahas bagaimana kita dapat menggunakan properti yang ditentukan dalam file YAML untuk mengonfigurasi nilai Peta di kelas POJO kita.

2. POJO dan YAML

Kelas POJO adalah Objek Java Lama Biasa. YAML adalah format data terstruktur yang dapat dibaca manusia yang menggunakan indentasi untuk menunjukkan penumpukan.

2.1. Contoh Peta Sederhana

Mari kita bayangkan bahwa kita menjalankan toko online, dan kita membuat layanan yang menerjemahkan ukuran pakaian. Awalnya, kami hanya menjual pakaian di Inggris. Kami ingin tahu apa ukuran Inggris yang dirujuk oleh label "S", "M", "L" dan seterusnya. Kami membuat kelas konfigurasi POJO kami:

@ConfigurationProperties(prefix = "t-shirt-size") public class TshirtSizeConfig { private Map simpleMapping; public TshirtSizeConfig(Map simpleMapping) { this.simpleMapping = simpleMapping; } //getters and setters.. } 

Perhatikan @ConfigurationProperties dengan nilai awalan . Kami akan menentukan pemetaan kami di bawah nilai root yang sama di file YAML kami, seperti yang bisa kita lihat di bagian selanjutnya.

Kita juga perlu mengingat untuk mengaktifkan properti konfigurasi dengan anotasi berikut di Application.class kita :

@EnableConfigurationProperties(TshirtSizeConfig.class) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

2.2. Konfigurasi YAML

Sekarang kami menambahkan t-shirt-sizekonfigurasi YAML kami.

Kami dapat menggunakan struktur berikut di file application.yml kami :

t-shirt-size: simple-mapping: XS: 6 S: 8 M: 10 L: 12 XL: 14

Perhatikan lekukan dan spasi. YAML menggunakan indentasi untuk menunjukkan penumpukan. Sintaks yang direkomendasikan adalah dua spasi untuk setiap level bertingkat.

Perhatikan bagaimana kami menggunakan simple-mappingdengan tanda hubung, tetapi nama properti kami di kelas kami dipanggil simpleMapping. Properti YAML dengan tanda hubung akan secara otomatis diterjemahkan ke dalam huruf besar / kecil yang setara dalam kode.

2.3. Contoh Peta yang Lebih Kompleks

Setelah toko UK kita sukses, sekarang kita perlu mempertimbangkan untuk menerjemahkan ukuran ke pengukuran negara lain. Misalnya, sekarang kami ingin mengetahui ukuran label "S" di Prancis dan AS. Kita perlu menambahkan lapisan data lain ke konfigurasi kita.

Kita dapat mengubah application.yml kita dengan pemetaan yang lebih kompleks:

t-shirt-size: complex-mapping: XS: uk: 6 fr: 34 us: 2 S: uk: 8 fr: 36 us: 4 M: uk: 10 fr: 38 us: 6 L: uk: 12 fr: 40 us: 8 XL: uk: 14 fr: 42 us: 10 

Bidang terkait di POJO kami akan menjadi peta peta:

private Map
    
      complexMapping;
    

3. Kesimpulan

Dalam artikel ini, kami melihat bagaimana kami dapat mendefinisikan peta bersarang yang sederhana dan lebih kompleks dalam file konfigurasi YAML untuk POJO sederhana.

Kode untuk artikel ini tersedia di GitHub

Jawa bawah

Saya baru saja mengumumkan kursus Learn Spring baru , yang berfokus pada dasar-dasar Spring 5 dan Spring Boot 2:

>> LIHAT KURSUSnya