Spring Boot Starter Parent

1. Introduktion

I denne vejledning lærer vi om spring-boot-starter-parent og hvordan vi kan drage fordel af det til bedre afhængighedsstyring, standardkonfigurationer for plugins og hurtigt opbygge vores Spring Boot applikationer.

Vi ser også, hvordan vi kan tilsidesætte versionerne af eksisterende afhængigheder og egenskaber leveret af starter-forælder.

2. Forår Boot Starter Parent

Det spring-boot-starter-parent projekt er et specielt startprojekt - der giver standardkonfigurationer til vores applikation og et komplet afhængighedstræ til hurtigt at bygge vores Spring Boot projekt.

Det giver også standardkonfiguration for Maven-plugins som f.eks maven-failsafe-plugin, maven-jar-plugin, maven-surefire-plugin, maven-war-plugin.

Ud over det arver det også afhængighedsstyring fra spring-boot-afhængigheder som er forælder til spring-boot-starter-forælder.

Vi kan begynde at bruge det i vores projekt ved at tilføje dette som forælder i vores projekt pom.xml:

 org.springframework.boot spring-boot-starter-parent 2.2.6.RELEASE 

Vi kan altid hente den nyeste version af spring-boot-starter-parent fra Maven Central.

3. Styring af afhængigheder

Når vi først har erklæret startforælder i vores projekt, kan vi trække enhver afhængighed fra forælderen ved blot at erklære det i vores afhængigheder tag.

Vi behøver heller ikke at definere versioner af afhængighederne, Maven downloader jar-filer baseret på den version, der er defineret til startforælder i det overordnede tag.

For eksempel, hvis vi bygger et webprojekt, kan vi tilføje spring-boot-starter-web direkte, og vi behøver ikke at specificere versionen:

  org.springframework.boot spring-boot-starter-web 

4. Afhængighedsstyringsmærket

For at administrere en anden version af en afhængighed, der leveres af startforælderen, kan vi erklære afhængighed og dens version eksplicit i afhængighedLedelse afsnit:

   org.springframework.boot spring-boot-starter-data-jpa 2.2.5.RELEASE 

5. Egenskaber

For at ændre værdien af ​​en hvilken som helst ejendom, der er defineret i startforælderen, kan vi erklære det igen i vores egenskabssektion.

Det spring-boot-starter-parent via sin forælder spring-boot-afhængigheder bruger egenskaber til konfiguration af alle afhængighedsversioner, Java-version og Maven-pluginversioner.

Derfor gør det det let for os at kontrollere disse konfigurationer ved blot at ændre den tilsvarende egenskab.

Hvis vi vil ændre versionen af ​​en hvilken som helst afhængighed, som vi vil hente fra startforælderen, kan vi tilføje afhængigheden i afhængighedskoden og direkte konfigurere dens egenskab:

 4.11 

6. Tilsidesættelse af anden ejendom

Vi kan også bruge egenskaber til andre konfigurationer såsom styring af plugin-versioner eller til endda nogle basekonfigurationer som styring af Java-versionen, kildekodning.

Vi er bare nødt til at deklarere ejendommen med en ny værdi.

For eksempel, for at ændre Java-versionen kan vi angive det i java.version ejendom:

 1.8 

7. Spring Boot Project uden forælder

Nogle gange har vi en brugerdefineret Maven-forælder. Eller vi foretrækker måske at erklære alle vores Maven-konfigurationer manuelt.

I så fald kan vi vælge ikke at bruge spring-boot-starter-parent projekt. Men vi kan stadig drage fordel af dets afhængighedstræ ved at tilføje en afhængighed spring-boot-afhængigheder i vores projekt i importere rækkevidde.

Lad os forklare dette med et simpelt eksempel, hvor vi vil bruge en anden forælder end startforælderen:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Her har vi brugt forældremoduler et andet projekt som vores forældreafhængighed.

I dette tilfælde kan vi stadig få de samme fordele ved afhængighedsstyring ved at tilføje det importere rækkevidde og pom type:

   org.springframework.boot spring-boot-afhængigheder 2.2.6.RELEASE pom import 

Desuden kan vi trække i enhver afhængighed ved blot at erklære det afhængigheder som vi gjorde i vores tidligere eksempler. Der kræves ingen versionsnumre til disse afhængigheder.

8. Resume

I denne vejledning har vi givet et overblik over spring-boot-starter-parent og fordelen ved at tilføje det som forælder i ethvert børneprojekt.

Derefter lærte vi, hvordan man styrede afhængigheder. Vi kan tilsidesætte afhængigheder i afhængighedLedelse eller via egenskaber.

Kildekode til uddrag brugt i denne vejledning er tilgængelig på Github, den ene bruger startforælderen og den anden en brugerdefineret forælder.


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