9
votes

spring initializr: spring-boot-starter vs spring-boot-starter-web

J'essaie de développer un exemple d'application basée sur Spring Boot dans IntellIJ. J'ai donc utilisé l'approche Spring Initialzr et effectué des sélections par défaut lors de la configuration. Le pom.xml avec lequel je me suis retrouvé a la dépendance suivante:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Mais le tutoriel que je suis suit:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
</dependency>

Alors, qu'est-ce la différence? Et puis-je avoir les deux?


0 commentaires

3 Réponses :


12
votes

spring-boot-starter-web contient les dépendances suivantes:

  • démarreur à ressort
  • jackson
  • noyau de ressort
  • spring-mvc
  • démarrage-à-ressort-tomcat

En utilisant IntelliJ, vous pouvez afficher les dépendances de vos artefacts au bas de la structure du projet.

Étant donné que spring-boot-starter est une dépendance de spring-boot-starter-web, il serait inutile d'avoir les deux. Cela ne ferait aucun mal si vous gardiez les deux non plus, juste inutile.


0 commentaires

6
votes

spring-boot-starter fournit l'infrastructure de base de développement et d'exécution de votre application ainsi que les fonctionnalités de base de Spring. Si vous voulez des fonctionnalités Web telles que spring-mvc pour votre projet, vous devez utiliser spring-boot-starter-web. Cependant, si vous utilisez spring-boot-starter-web, vous n'avez pas besoin de mentionner explicitement spring-boot-starter.


0 commentaires

2
votes

spring-boot-starter est lui-même une dépendance de spring-boot-starter-web. Si vous n'incluez que la dépendance spring-boot-starter dans votre application, vous n'obtiendrez que l'infrastructure d'exécution avec certaines fonctionnalités de base. Donc, pour l'application Web, vous devez inclure spring-boot-starter-web afin que vous puissiez obtenir spring-mvc, jackson et spring-boot-starter. Il n'est pas nécessaire d'utiliser les deux. Si vous utilisez spring-boot-starter-web, ce sera suffisant pour votre application. Cependant, l'utilisation des deux ne provoquera pas une erreur.


0 commentaires