Építési tulajdonságok hozzáadása egy tavaszi rendszerindító alkalmazáshoz

1. Bemutatkozás

Általában a projektünk build konfigurációja elég sok információt tartalmaz az alkalmazásunkról. Ezen információk egy részére szükség lehet magában az alkalmazásban. Tehát ahelyett, hogy keményen kódolnánk ezeket az információkat, felhasználhatjuk a meglévő build-konfigurációból.

Ebben a cikkben meglátjuk hogyan lehet felhasználni a projekt build konfigurációjából származó információkat a Spring Boot alkalmazásban.

2. A Build információk

Tegyük fel, hogy weboldalunk kezdőlapján szeretnénk megjeleníteni az alkalmazás leírását és verzióját.

Általában ezek az információk a pom.xml:

 4.0.0 rugós-boot rugós-boot háború Ez egy egyszerű indító alkalmazás a tavaszi boot indítószerkezet tesztéhez: 0.0.1-SNAPSHOT ... 

3. Hivatkozás az Alkalmazás tulajdonságai fájl információira

A fenti információk alkalmazásunkban történő felhasználásához először az egyik alkalmazás tulajdonságfájlunkban kell hivatkoznunk rá:

[e-mail védett] @ [e-mail védett] @

Itt használtuk a build tulajdonság értékét A projekt leírása az alkalmazás tulajdonságának beállításához alkalmazás-leírás. Hasonlóképpen, alkalmazás-verzió segítségével állítható be projekt.változat.

A legjelentősebb bit itt a @ karakter az ingatlan neve körül. Ez arra készteti Springet, hogy bővítse ki a megnevezett tulajdonságot a Maven projektből.

Most, amikor elkészítjük a projektünket, ezeket a tulajdonságokat lecseréljük az értékeikre pom.xml.

Ezt a bővítést erőforrás szűrésnek is nevezik. Érdemes megjegyezni, hogy ez a fajta szűrés csak a gyártási konfigurációra vonatkozik. Következésképpen nem használhatjuk a build tulajdonságokat az alatt található fájlokban src / test / resources.

Egy másik dolog, amit meg kell jegyezni, hogy ha a addResources zászló, a rugós-bakancs: fut cél hozzáteszi src / main / resources közvetlenül az osztályútra. Bár ez hasznos újratöltési célokra, megkerüli az erőforrások szűrését és következésképpen ezt a funkciót is.

Most, a fenti tulajdonságbővítés csak akkor működik dobozon kívül, ha használjuk tavasz-bakancs-induló-szülő.

3.1. Tulajdonságok bővítése nélkül tavasz-bakancs-induló-szülő

Nézzük meg, hogyan tudjuk engedélyezni ezt a funkciót a tavasz-bakancs-induló-szülő függőség.

Először engedélyeznünk kell az erőforrásszűrést a elem a mi pom.xml:

  src / main / resources true 

Itt engedélyeztük az erőforrásszűrést a src / main / resources csak.

Ezután hozzáadhatjuk a határoló konfigurációját a maven-resources-plugin:

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

Vegye figyelembe, hogy megadtuk a useDefaultDelimiters ingatlan mint hamis. Ez biztosítja, hogy a szokásos tavaszi helyőrzőket, például a $ {placeholder}, ne bővítse ki a build.

4. A Build Information használata a YAML fájlokban

Ha az alkalmazás tulajdonságainak tárolásához YAML-t használunk, lehet, hogy nem tudjuk használni @ az építési tulajdonságok megadásához. Ez azért van, mert @ a YAML fenntartott karaktere.

De ezt egyikükkel is legyőzhetjük egy másik határoló konfigurálása a maven-resources-plugin:

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

Vagy egyszerűen felülbírálja a erőforrás.határoló tulajdonság a tulajdonságok blokkban a mi pom.xml:

 ^ 

Akkor használhatjuk ^ a YAML fájlunkban:

alkalmazás-leírás: ^ project.description ^ alkalmazás-verzió: ^ project.version ^

5. Következtetés

Ebben a cikkben azt láttuk, hogy miként használhatnánk a Maven projekt adatait alkalmazásunkban. Ez segíthet abban, hogy elkerüljük az információk tulajdonságainak kódolását, amelyek már megtalálhatók az alkalmazás tulajdonságainak fájljaiban a projektépítés konfigurációjában.

Természetesen az oktatóanyaghoz tartozó kód megtalálható a GitHubon.