Hvordan defineres et kort i YAML til en POJO?
Jeg har lige annonceret det nye Lær foråret kursus med fokus på det grundlæggende i Spring 5 og Spring Boot 2:
>> KONTROLLER KURSEN1. Oversigt
I denne vejledning gennemgår vi, hvordan vi kan bruge egenskaber defineret i en YAML-fil til at konfigurere værdier til en Kort i vores POJO-klasser.
2. POJO og YAML
POJO-klasser er almindelige gamle Java-objekter. YAML er et menneskeligt læsbart struktureret dataformat, der bruger indrykning for at angive indlejring.
2.1. Enkel Kort Eksempel
Lad os forestille os, at vi kører en onlinebutik, og vi opretter en service, der oversætter tøjstørrelser. Først sælger vi kun tøj i Storbritannien. Vi vil vide, hvilken størrelse UK betegner som "S", "M", "L" og så videre. Vi opretter vores POJO-konfigurationsklasse:
@ConfigurationProperties (præfiks = "t-shirt-størrelse") offentlig klasse TshirtSizeConfig {privat kort simpleMapping; public TshirtSizeConfig (Map simpleMapping) {this.simpleMapping = simpleMapping; } // getters og settere.}
Læg mærke til @ConfigurationProperties med præfiks værdi. Vi definerer vores kortlægning under den samme rodværdi i vores YAML-fil, som vi kan se i det næste afsnit.
Vi skal også huske at aktivere konfigurationsegenskaber med følgende kommentar på vores Application.class:
@EnableConfigurationProperties (TshirtSizeConfig.class) public class DemoApplication {public static void main (String [] args) {SpringApplication.run (DemoApplication.class, args); }}
2.2. YAML-konfiguration
Nu tilføjer vi t-shirt-størrelse
til vores YAML-konfiguration.
Vi kan bruge følgende struktur i vores ansøgning.yml fil:
t-shirt-størrelse: enkel kortlægning: XS: 6 S: 8 M: 10 L: 12 XL: 14
Bemærk indrykningen og mellemrummene. YAML bruger indrykning for at angive indlejring. Den anbefalede syntaks er to mellemrum for hvert indlejrede niveau.
Læg mærke til, hvordan vi bruger enkel kortlægning
med bindestreg, men vores ejendomsnavn i vores klasse kaldes simpleMapping
. YAML-egenskaber med bindestreger vil automatisk blive oversat til kamelæskeækvivalenten i kode.
2.3. Mere komplekst Kort Eksempel
Efter vores succesrige britiske butikker skal vi nu overveje at oversætte størrelser til andre landes målinger. For eksempel vil vi nu vide, hvilken størrelse der er mærket “S” i Frankrig og USA. Vi skal tilføje endnu et lag af data til vores konfiguration.
Vi kan ændre vores ansøgning.yml med en mere kompleks kortlægning:
t-shirt-størrelse: kompleks kortlægning: 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 os: 8 XL: uk: 14 fr: 42 os: 10
Det tilsvarende felt i vores POJO vil være et kort over kort:
privat kort kompleks Kortlægning;
3. Konklusion
I denne artikel så vi, hvordan vi kunne definere enkle og mere komplekse indlejrede kort i en YAML-konfigurationsfil til en simpel POJO.
Koden til denne artikel er tilgængelig på GitHub
Java bund