Pridajte vlastnosti zostavenia do aplikácie Spring Boot

1. Úvod

Konfigurácia zostavenia nášho projektu zvyčajne obsahuje pomerne veľa informácií o našej aplikácii. Niektoré z týchto informácií môžu byť potrebné v samotnej aplikácii. Namiesto kódovania týchto informácií teda môžeme tieto informácie použiť z existujúcej konfigurácie zostavenia.

V tomto článku uvidíme ako používať informácie z konfigurácie zostavenia projektu v aplikácii Spring Boot.

2. Informácie o zostave

Povedzme, že chceme zobraziť popis a verziu aplikácie na domovskej stránke nášho webu.

Tieto informácie sa zvyčajne nachádzajú v jazyku pom.xml:

 4.0.0 jar-topánka jar-topánka vojna Toto je jednoduchá aplikácia na zavedenie pre test aktivácie pružinového bootovania 0.0.1-SNAPSHOT ... 

3. Odkazy na informácie v súbore Vlastnosti aplikácie

Teraz, aby sme mohli použiť vyššie uvedené informácie v našej aplikácii, budeme ich musieť najskôr odkázať v jednom z našich súborov vlastností aplikácie:

[chránené e-mailom] @ [chránené e-mailom] @

Tu sme použili hodnotu vlastnosti build Popis projektu na nastavenie vlastnosti aplikácie popis aplikácie. Podobne verzia aplikácie sa nastavuje pomocou projekt.verzia.

Najdôležitejšou časťou je použitie @ znak okolo názvu vlastnosti. To povie Spring, aby rozšírila pomenovanú vlastnosť z projektu Maven.

Teraz, keď budujeme náš projekt, budú tieto vlastnosti nahradené ich hodnotami z pom.xml.

Toto rozšírenie sa označuje aj ako filtrovanie zdrojov. Stojí za zmienku, že tento druh filtrovania sa uplatňuje iba na produkčnú konfiguráciu. V dôsledku toho nemôžeme použiť vlastnosti zostavenia v súboroch pod src / test / zdroje.

Ďalšou vecou je, že ak použijeme addResources vlajka, jar-topánka: beh gól dodáva src / main / resources priamo na cestu ku triede. Aj keď je to užitočné pre účely opätovného načítania za horúca, obchádza to filtrovanie zdrojov a následne aj túto funkciu.

Teraz, vyššie uvedené rozšírenie nehnuteľnosti funguje ihneď po vybalení, iba ak použijeme pružina-štartér-štartér-rodič.

3.1. Rozširovanie vlastností bez pružina-štartér-štartér-rodič

Pozrime sa, ako môžeme túto funkciu povoliť bez použitia pružina-štartér-štartér-rodič závislosť.

Najskôr musíme povoliť filtrovanie zdrojov vo vnútri servera prvok v našom pom.xml:

  src / main / resources true 

Tu sme povolili filtrovanie zdrojov pod src / main / resources iba.

Potom môžeme pridať konfiguráciu oddeľovača pre maven-resources-plugin:

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

Upozorňujeme, že sme špecifikovali useDefaultDelimiters majetok ako nepravdivé. To zaisťuje, že štandardné zástupné symboly Spring, ako napríklad $ {placeholder}, sa zostavením nerozšíria.

4. Používanie informácií o zostave v súboroch YAML

Ak na ukladanie vlastností aplikácie používame YAML, nemusíme byť schopní použiť @ špecifikovať vlastnosti zostavenia. To je preto, že @ je vyhradený znak v YAML.

Môžeme to však prekonať buď sk Konfigurácia iného oddeľovača v systéme Windows maven-resources-plugin:

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

Alebo jednoducho prvoradý oddeľovač zdrojov vlastnosť v bloku vlastností nášho pom.xml:

 ^ 

Potom môžeme použiť ^ v našom súbore YAML:

application-description: ^ project.description ^ application-version: ^ project.version ^

5. Záver

V tomto článku sme videli, ako by sme mohli použiť informácie o projekte Maven v našej aplikácii. To nám môže pomôcť vyhnúť sa pevnému kódovaniu informácií, ktoré sú už v konfigurácii zostavenia projektu obsiahnuté v našich súboroch vlastností aplikácie.

A samozrejme, kód, ktorý je sprievodcom tohto tutoriálu, nájdete na GitHub.


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