Kako definirati kartu u YAML-u za POJO?

Java Top

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ

1. Pregled

U ovom uputstvu proći ćemo kroz način na koji možemo koristiti svojstva definirana u YAML datoteci za konfiguriranje vrijednosti za Karta na našim POJO časovima.

2. POJO i YAML

POJO klase su obični stari Java objekti. YAML je čitljiv format strukturiranih podataka koji koristi uvlačenje za označavanje gniježđenja.

2.1. Jednostavan Karta Primjer

Zamislimo da vodimo internetsku trgovinu i stvaramo uslugu koja prevodi veličine odjeće. Isprva odjeću prodajemo samo u Velikoj Britaniji. Želimo znati na koju se veličinu u Velikoj Britaniji odnosi oznaka "S", "M", "L" i tako dalje. Izrađujemo našu POJO klasu konfiguracije:

@ConfigurationProperties (prefix = "t-shirt-size") javna klasa TshirtSizeConfig {privatna karta simpleMapping; public TshirtSizeConfig (Map simpleMapping) {this.simpleMapping = simpleMapping; } // geteri i postavljači ..} 

Primijetite @ConfigurationProperties s prefiks vrijednost. Mapiranje ćemo definirati pod istom vrijednošću korijena u našoj YAML datoteci, kao što možemo vidjeti u sljedećem odjeljku.

Također moramo imati na umu da omogućimo konfiguracijska svojstva sa sljedećom bilješkom na našem Primjena.razred:

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

2.2. YAML konfiguracija

Sada dodajemo majica-vel našoj YAML konfiguraciji.

U našem sustavu možemo koristiti sljedeću strukturu primjena.iml datoteka:

majica-veličina: jednostavno preslikavanje: XS: 6 S: 8 M: 10 L: 12 XL: 14

Obratite pažnju na udubljenje i razmake. YAML koristi udubljenje za označavanje gniježđenja. Preporučena sintaksa je dva razmaka za svaku ugniježđenu razinu.

Primijetite kako se koristimo jednostavno mapiranje s crticom, ali zove se ime našeg vlasništva u našoj klasi jednostavno mapiranje. Svojstva YAML-a s crticama automatski će se prevesti u ekvivalent kućišta deve u kodu.

2.3. Kompleksnije Karta Primjer

Nakon naših uspješnih trgovina u Velikoj Britaniji, sada moramo razmotriti prevođenje veličina na mjerenja drugih zemalja. Na primjer, sada želimo znati koje je veličine oznaka "S" u Francuskoj i SAD-u. U našu konfiguraciju moramo dodati još jedan sloj podataka.

Možemo promijeniti svoje primjena.iml sa složenijim mapiranjem:

majica-veličina: složeno mapiranje: 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 

Odgovarajuće polje u našem POJO bit će karta karata:

privatna karta kompleksno mapiranje;

3. Zaključak

U ovom smo članku vidjeli kako možemo definirati jednostavne i složenije ugniježđene karte u YAML konfiguracijskoj datoteci za jednostavan POJO.

Kôd za ovaj članak dostupan je na GitHub-u

Dno Java

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ