De Spring Boot Starter-ouder

1. Inleiding

In deze tutorial leren we meer over spring-boot-starter-parent en hoe we hiervan kunnen profiteren voor een beter afhankelijkheidsbeheer, standaardconfiguraties voor plug-ins en snel onze Spring Boot toepassingen.

We zullen ook zien hoe we de versies van bestaande afhankelijkheden en eigenschappen van starter-ouder.

2. Spring Boot Starter-ouder

De spring-boot-starter-parent project is een speciaal startersproject - dat standaardconfiguraties biedt voor onze applicatie en een volledige afhankelijkheidsboom om snel onze Spring Boot project.

Het biedt ook een standaardconfiguratie voor Maven-plug-ins zoals maven-failsafe-plugin, maven-jar-plugin, maven-surefire-plugin, maven-war-plugin.

Daarnaast erft het ook afhankelijkheidsbeheer van spring-boot-afhankelijkheden dat is de ouder van de spring-boot-starter-parent.

We kunnen het in ons project gaan gebruiken door dit als ouder toe te voegen aan ons project pom.xml:

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

We kunnen altijd de laatste versie van spring-boot-starter-parent van Maven Central.

3. Afhankelijkheden beheren

Zodra we de startende ouder in ons project hebben verklaard, kunnen we elke afhankelijkheid van de ouder trekken door deze gewoon in onze afhankelijkheden label.

We hoeven ook geen versies van de afhankelijkheden te definiëren, Maven zal jar-bestanden downloaden op basis van de versie die is gedefinieerd voor starter-parent in de bovenliggende tag.

Als we bijvoorbeeld een webproject bouwen, kunnen we spring-boot-starter-web rechtstreeks, en we hoeven de versie niet op te geven:

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

4. De tag voor afhankelijkheidsbeheer

Om een ‚Äč‚Äčandere versie van een afhankelijkheid te beheren die door de startende ouder wordt geleverd, kunnen we afhankelijkheid en de versie ervan expliciet in de afhankelijkheidsbeheer sectie:

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

5. Eigenschappen

Om de waarde van een eigenschap die is gedefinieerd in de starter-ouder te wijzigen, kunnen we deze opnieuw aangeven in onze sectie Eigenschappen.

De spring-boot-starter-parent via zijn ouder spring-boot-afhankelijkheden gebruikt eigenschappen voor het configureren van alle afhankelijkheidsversies, de Java-versie en de Maven-plugin-versies.

Daarom is het voor ons gemakkelijk om deze configuraties te beheren door alleen de bijbehorende eigenschap te wijzigen.

Als we de versie willen wijzigen van een afhankelijkheid die we van de starter-ouder willen halen, kunnen we de afhankelijkheid toevoegen in de afhankelijkheidstag en de eigenschap direct configureren:

 4.11 

6. Andere eigenschapoverschrijvingen

We kunnen eigenschappen ook gebruiken voor andere configuraties, zoals het beheren van plugin-versies of zelfs voor een basisconfiguratie zoals het beheren van de Java-versie, broncodering.

We hoeven de woning alleen opnieuw aan te geven met een nieuwe waarde.

Om bijvoorbeeld de Java-versie te wijzigen, kunnen we dit aangeven in het java.version eigendom:

 1.8 

7. Spring Boot Project zonder Starter Parent

Soms hebben we een aangepaste Maven-ouder. Of misschien geven we er de voorkeur aan om al onze Maven-configuraties handmatig te declareren.

In dat geval kunnen we ervoor kiezen om de spring-boot-starter-parent project. Maar we kunnen nog steeds profiteren van de afhankelijkheidsboom door een afhankelijkheid toe te voegen spring-boot-afhankelijkheden in ons project in importeren reikwijdte.

Laten we dit uitleggen met een eenvoudig voorbeeld waarin we een andere ouder dan de startende ouder willen gebruiken:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Hier hebben we gebruikt ouder-modules een ander project dan onze ouderafhankelijkheid.

Nu kunnen we in dit geval nog steeds dezelfde voordelen van afhankelijkheidsbeheer krijgen door het toe te voegen importeren toepassingsgebied en pom type:

   org.springframework.boot spring-boot-afhankelijkheden 2.2.6.RELEASE pom import 

Bovendien kunnen we elke afhankelijkheid binnenhalen door deze gewoon aan te geven afhankelijkheden zoals we deden in onze vorige voorbeelden. Voor die afhankelijkheden zijn geen versienummers nodig.

8. Samenvatting

In deze tutorial hebben we een overzicht gegeven van spring-boot-starter-parent en het voordeel om het als ouder toe te voegen aan elk kindproject.

Vervolgens hebben we geleerd hoe we afhankelijkheden kunnen beheren. We kunnen afhankelijkheden overschrijven in afhankelijkheidsbeheer of via eigendommen.

De broncode voor fragmenten die in deze zelfstudie worden gebruikt, is beschikbaar op Github, de ene gebruikt de startende ouder en de andere een aangepaste ouder.