Gestion des dépendances Spring Boot avec un parent personnalisé

1. Vue d'ensemble

Spring Boot fournit le POM parent pour une création plus facile des applications Spring Boot.

Cependant, l' utilisation du POM parent n'est pas toujours souhaitable, si nous avons déjà un parent dont hériter.

Dans ce rapide tutoriel, nous allons voir comment nous pouvons toujours utiliser Boot sans le démarreur parent.

2. Spring Boot sans POM parent

Le parent pom.xml s'occupe de la gestion des dépendances et des plugins. Pour cette raison, en hériter fournit un support précieux dans une application, c'est donc généralement le plan d'action préféré lors de la création d'une application de démarrage . Vous pouvez trouver plus de détails sur la façon de créer une application basée sur le démarreur parent dans notre article précédent.

En pratique cependant, nous pouvons être contraints par des règles de conception ou d'autres préférences d'utiliser un parent différent.

Heureusement, Spring Boot offre une alternative à l'héritage du démarreur parent, qui peut encore nous offrir certains de ses avantages.

Si nous n'utilisons pas le POM parent, nous pouvons toujours bénéficier de la gestion des dépendances en ajoutant l' artefact spring-boot-dependencies avec scope = import :

   org.springframework.boot spring-boot-dependencies 1.5.6.RELEASE pom import   

Ensuite, nous pouvons commencer simplement à ajouter des dépendances Spring et à utiliser les fonctionnalités de Spring Boot :

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

En revanche, sans le POM parent, nous ne bénéficions plus de la gestion des plugins. Cela signifie que nous devons ajouter explicitement le plugin spring-boot-maven-plugin :

   org.springframework.boot spring-boot-maven-plugin   

3. Remplacement des versions de dépendance

Si nous voulons utiliser une version différente pour une certaine dépendance que celle gérée par Boot, nous devons la déclarer dans la section dependencyManagement , avant que spring-boot-dependencies ne soit déclarée:

   org.springframework.boot spring-boot-starter-data-jpa 1.5.5.RELEASE   // ... 

En revanche, déclarer simplement la version de la dépendance en dehors de la balise dependencyManagement ne fonctionnera plus.

4. Conclusion

Dans ce tutoriel rapide, nous avons vu comment nous pouvons utiliser Spring Boot sans le parent pom.xml.

Le code source des exemples se trouve à l'adresse over sur GitHub.