Spring Dependency Management avec un parent personnalisé

Gestion des dépendances au démarrage du printemps 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,using the parent POM may not always be desirable, if we already have a parent to inherit from.

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

2. Spring Boot sans POM parent

The parent pom.xml takes care of dependency and plugin management. Pour cette raison, en hériter fournit une aide précieuse dans une application, c'est donc généralement la solution préférée lors de la création d'une applicationBoot. Vous pouvez trouver plus de détails sur la façon de créer une application basée sur le démarreur parent dansour previous article.

En pratique cependant,we may be constrained by design rules or other preferences to use a different parent.

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

If we don’t make use of the parent POM, we can still benefit from dependency management en ajoutant l'artefactspring-boot-dependencies avecscope=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 deSpring Boot:


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

On the other hand, without the parent POM, we no longer benefit from plugin management. Cela signifie que nous devons ajouter explicitement lesspring-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 sectiondependencyManagement, avant quespring-boot-dependencies ne soit déclaré:


    
        
            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 balisedependencyManagement ne fonctionnera plus.

4. Conclusion

Dans ce rapide tutoriel, nous avons vu comment utiliserSpring Boot sans le parentpom.xml.

Le code source des exemples peut être trouvéover on GitHub.