Bagaimana Menentukan Peta di YAML untuk POJO?

Java Teratas

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

>> SEMAK KURSUS

1. Gambaran keseluruhan

Dalam tutorial ini, kita akan membahas bagaimana kita dapat menggunakan sifat yang ditentukan dalam fail YAML untuk mengkonfigurasi nilai untuk Peta di kelas POJO kami.

2. POJO dan YAML

Kelas POJO adalah Objek Lama Jawa Lama. YAML adalah format data berstruktur yang dapat dibaca oleh manusia yang menggunakan lekukan untuk menunjukkan bersarang.

2.1. Mudah Peta Contoh

Mari kita bayangkan bahawa kita menjalankan kedai dalam talian, dan kita membuat perkhidmatan yang menerjemahkan ukuran pakaian. Pada mulanya, kami hanya menjual pakaian di UK. Kami ingin mengetahui ukuran UK yang dimaksudkan dengan label "S", "M", "L" dan sebagainya. 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 akar yang sama dalam fail YAML kami, seperti yang dapat kita lihat di bahagian seterusnya.

Kita juga perlu ingat untuk mengaktifkan sifat konfigurasi dengan anotasi berikut pada Application.class kami :

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

2.2. Konfigurasi YAML

Sekarang kita menambah t-shirt-sizekonfigurasi YAML kami.

Kami boleh menggunakan struktur berikut dalam fail application.yml kami :

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

Perhatikan lekukan dan ruang. YAML menggunakan lekukan untuk menunjukkan bersarang. Sintaks yang disyorkan adalah dua ruang untuk setiap peringkat bersarang.

Perhatikan bagaimana kita menggunakan simple-mappingtanda hubung, tetapi nama harta benda kita di kelas disebut simpleMapping. Sifat YAML dengan tanda pisah akan diterjemahkan secara automatik kepada kes unta yang serupa dalam kod.

2.3. Contoh Peta Lebih Kompleks

Setelah berjaya membeli-belah di UK, kita sekarang perlu mempertimbangkan untuk menerjemahkan ukuran ke ukuran negara lain. Sebagai contoh, kita sekarang ingin mengetahui ukuran berapa label "S" di Perancis dan AS. Kita perlu menambahkan lapisan data yang lain pada konfigurasi kita.

Kami boleh mengubah application.yml kami 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 

Medan yang sesuai dalam POJO kami akan menjadi peta peta:

private Map
    
      complexMapping;
    

3. Kesimpulannya

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

Kod untuk artikel ini terdapat di GitHub

Bahagian bawah Java

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

>> SEMAK KURSUS