Hvordan definere et kart i YAML for en POJO?
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 KURSET1. 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