Hvordan definere et kart i YAML for en POJO?

Java Top

Jeg kunngjorde nettopp det nye Lær våren kurs, med fokus på det grunnleggende i vår 5 og vårstøvel 2:

>> KONTROLLER KURSET

1. Oversikt

I denne opplæringen går vi gjennom hvordan vi kan bruke egenskaper definert i en YAML-fil for å konfigurere verdier for en Kart i våre POJO-klasser.

2. POJO og YAML

POJO-klasser er vanlige Java-objekter. YAML er et menneskelig lesbart strukturert dataformat som bruker innrykk for å indikere hekking.

2.1. Enkel Kart Eksempel

La oss forestille oss at vi driver en nettbutikk, og vi lager en tjeneste som oversetter klesstørrelser. Først selger vi bare klær i Storbritannia. Vi ønsker å vite hvilken størrelse UK betegner merket “S”, “M”, “L” og så videre. Vi oppretter vår POJO-konfigurasjonsklasse:

@ConfigurationProperties (prefix = "t-shirt-size") offentlig klasse TshirtSizeConfig {private Map simpleMapping; public TshirtSizeConfig (Map simpleMapping) {this.simpleMapping = simpleMapping; } // getters og setter ..} 

Legg merke til @ConfigurationProperties med prefiks verdi. Vi definerer kartleggingen vår under den samme rotverdien i YAML-filen, som vi kan se i neste avsnitt.

Vi må også huske å aktivere konfigurasjonsegenskaper med følgende kommentar på vår Application.class:

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

2.2. YAML-konfigurasjon

Nå legger vi til t-skjorte-størrelse til vår YAML-konfigurasjon.

Vi kan bruke følgende struktur i vår application.yml fil:

t-skjorte-størrelse: enkel kartlegging: XS: 6 S: 8 M: 10 L: 12 XL: 14

Legg merke til innrykk og mellomrom. YAML bruker innrykk for å indikere hekking. Den anbefalte syntaksen er to mellomrom for hvert nestede nivå.

Legg merke til hvordan vi bruker enkel kartlegging med bindestrek, men eiendomsnavnet vårt i klassen heter simpleMapping. YAML-egenskaper med bindestreker vil automatisk overføres til kamelveskeekvivalenten i kode.

2.3. Mer kompleks Kart Eksempel

Etter våre vellykkede britiske butikker, må vi nå vurdere å oversette størrelser til andre lands mål. For eksempel vil vi nå vite hvilken størrelse som er merket "S" i Frankrike og USA. Vi må legge til et nytt lag med data i konfigurasjonen.

Vi kan endre vår application.yml med en mer kompleks kartlegging:

t-skjorte-størrelse: kompleks kartlegging: 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 

Det tilsvarende feltet i vår POJO vil være et kart over kart:

privat kart kompleksKartlegging;

3. Konklusjon

I denne artikkelen så vi hvordan vi kunne definere enkle og mer komplekse nestede kart i en YAML-konfigurasjonsfil for en enkel POJO.

Koden for denne artikkelen er tilgjengelig på GitHub

Java bunn

Jeg kunngjorde nettopp det nye Lær våren kurs, med fokus på det grunnleggende i vår 5 og vårstøvel 2:

>> KONTROLLER KURSET

$config[zx-auto] not found$config[zx-overlay] not found