Dodajte svojstva gradnje aplikaciji Spring Boot

1. Uvod

Konfiguracija gradnje našeg projekta obično sadrži poprilično informacija o našoj aplikaciji. Neke od ovih informacija mogle bi biti potrebne u samoj aplikaciji. Dakle, umjesto da ove podatke kodiramo, možemo ih koristiti iz postojeće konfiguracije gradnje.

U ovom ćemo članku vidjeti kako koristiti informacije iz konfiguracije gradnje projekta u aplikaciji Spring Boot.

2. Podaci o građi

Recimo da želimo prikazati opis i verziju aplikacije na početnoj stranici naše web stranice.

Ti su podaci obično prisutni u pom.xml:

 4.0.0 spring-boot spring-boot war Ovo je jednostavna aplikacija za pokretanje za test provodnog pokretača Spring boot 0.0.1-SNAPSHOT ... 

3. Upućivanje podataka u datoteku svojstava aplikacije

Da bismo gore navedene podatke koristili u našoj aplikaciji, morat ćemo ih prvo uputiti u jednu od datoteka svojstava aplikacije:

[zaštićena e-poštom] @ [zaštićena e-poštom] @

Ovdje smo koristili vrijednost svojstva gradnje Opis projekta za postavljanje svojstva aplikacije prijava-opis. Slično tome, verzija aplikacije postavlja se pomoću projekt.verzija.

Ovdje je najznačajniji dio @ znak oko naziva nekretnine. To govori Springu da proširi imenovano svojstvo iz projekta Maven.

Sada, kada gradimo naš projekt, ta će svojstva biti zamijenjena njihovim vrijednostima iz pom.xml.

Ovo se proširenje naziva i filtriranjem resursa. Vrijedno je napomenuti da se ovakva vrsta filtriranja primjenjuje samo na proizvodnu konfiguraciju. Slijedom toga, ne možemo koristiti svojstva gradnje u datotekama pod src / test / resources.

Još jedna stvar koju treba napomenuti jest da ako koristimo addResources zastava, spring-boot: trčanje cilj dodaje src / glavni / resursi izravno na put predavanja. Iako je ovo korisno za vruće ponovno učitavanje, zaobilazi filtriranje resursa, a time i ovu značajku.

Sada, gornje proširenje svojstva djeluje odmah ako koristimo proljeće-čizma-starter-roditelj.

3.1. Proširivanje svojstava bez proljeće-čizma-starter-roditelj

Pogledajmo kako možemo omogućiti ovu značajku bez upotrebe proljeće-čizma-starter-roditelj ovisnost.

Prvo, moramo omogućiti filtriranje resursa unutar element u našem pom.xml:

  src / main / resources true 

Ovdje smo omogućili filtriranje resursa pod src / glavni / resursi samo.

Zatim možemo dodati konfiguraciju graničnika za maven-resources-plugin:

 org.apache.maven.plugins maven-resources-plugin @ false 

Imajte na umu da smo naveli useDefaultDelimiters svojstvo kao lažno. To osigurava da se standardna Spring rezervirana mjesta, kao što je $ {placeholder}, ne proširuju izradom.

4. Korištenje podataka o gradnji u YAML datotekama

Ako koristimo YAML za pohranu svojstava aplikacije, možda ne bismo mogli koristiti @ za specificiranje svojstava gradnje. Ovo je zbog @ je rezervirani lik u YAML-u.

Ali, to možemo prevladati bilo kojim konfiguriranje drugog graničnika u maven-resources-plugin:

 org.apache.maven.plugins maven-resources-plugin ^ false 

Ili jednostavno nadjačavanje resurs.graničnik svojstvo u bloku svojstava Od našeg pom.xml:

 ^ 

Tada možemo koristiti ^ u našoj YAML datoteci:

aplikacija-opis: ^ projekt.opis ^ verzija aplikacije: ^ projekt.verzija ^

5. Zaključak

U ovom smo članku vidjeli kako možemo koristiti informacije o projektu Maven u našoj aplikaciji. To nam može pomoći da izbjegnemo tvrdo kodiranje podataka koji su već prisutni u konfiguraciji gradnje projekta u datotekama svojstava aplikacije.

I naravno, kod koji prati ovaj vodič nalazi se na GitHubu.


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