Kako definirati kartu u YAML-u za POJO?
Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:
>> PROVJERITE TEČAJ1. 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