Je viens de commencer à apprendre le printemps. Dans ma prochaine étape, j'aimerais développer de plus grandes applications Web.
Maintenant, je me demande si je devrais commencer par Spring Boot ou Spring MVC. J'ai déjà lu des choses, mais c'est déroutant car les deux se ressemblent.
Alors, quelles sont les différences entre les deux?
@Controller
, où vous implémentez des méthodes auxquelles vous pouvez accéder à l'aide de différentes requêtes HTTP. Il a un équivalent @RestController
pour implémenter des API basées sur REST.Spring MVC est donc un framework à utiliser dans les applications Web et Spring Boot est un initialiseur de projet prêt pour la production . Vous pourriez trouver utile de visiter le wiki du tag Spring MVC ainsi que le wiki du tag Spring Boot à SO.
Spring MVC et Spring Boot sont bien décrits dans les autres réponses, et donc sans répéter cela, permettez-moi de passer directement aux détails. Spring Boot et Spring MVC ne sont ni comparables ni mutuellement exclusifs. Si vous souhaitez développer Web avec Spring, vous devez utiliser Spring MVC. Votre question est alors de savoir s'il faut utiliser Spring Boot ou non.
Pour développer des applications Spring communes ou commencer à apprendre Spring, je pense que l’utilisation de Spring Boot serait recommandée. Il facilite considérablement le travail, est prêt pour la production et est rapidement adopté à grande échelle.
J'ai parfois vu des débutants poser cette question parce que dans STS (Spring Tool Suite), il y a deux assistants: un pour créer un projet Spring Boot et un autre pour créer un projet Spring MVC. Donc, ma recommandation serait de créer un projet Spring Boot et de choisir Web en tant que module dans celui-ci.
Spring MVC
est un sous-projet de Spring Framework, qui vise la conception et le développement d'applications utilisant le modèle MVC (Model-View-Controller). Spring MVC est conçu pour s’intégrer pleinement au cadre de Spring et, de manière transitoire, à la plupart des autres sous-projets.
Spring Boot
peut être très bien compris grâce à cet article par l'équipe d'ingénierie de Spring. C’est soi-disant une opinion, c’est-à-dire qu’elle préconise fortement un certain style de développement rapide, mais elle est suffisamment bien conçue pour permettre des exceptions à la règle, si vous voulez. En bref, il s’agit d’une méthode de convention sur la configuration conçue pour comprendre votre besoin de rompre la convention lorsque cela est justifié.
Voici quelques points principaux qui différencient Spring et Spring Boot:
Spring:
Spring Boot:
Remarque: il ne contient pas tous les points.
SpringBoot est en fait préconfiguré pour réduire la configuration de la chaudière et constitue le moyen le plus simple ou le plus rapide de démarrer votre application.
SpringBoot prend le casse-tête de la configuration du développeur à soi-même plutôt que Spring.
Implicitement, SpringBoot est basé sur le concept d’infrastructure Spring comme bean, contrôleur, services, jpa, etc.
Vous pouvez dire que SpringBoot est une enveloppe de Spring.
Dans SpringBoot, le port par défaut du serveur est 8080, mais si vous souhaitez modifier, accédez à votre application.properties et écrivez
server.port = 8084
En utilisant un démarrage à ressort, vous n’aurez pas besoin de construire de configuration. Cela sera fait automatiquement lorsque vous créez un projet.
Si vous utilisez Spring MVC, vous devez créer vous-même la configuration. C'est plus compliqué, mais c'est crucial.
En termes simples, on peut dire:
Spring boot = Spring MVC + Auto Configuration(Don't need to write spring.xml file for configurations) + Server(You can have embedded Tomcat, Netty, Jetty server).
Spring Boot étant un framework Opinionated, il est conçu pour un développement rapide, moins de temps nécessaire à la configuration et un très bon support de la communauté.
Sans répéter la même chose dans les réponses précédentes, j’écris cette réponse à l’intention des personnes qui cherchent à démarrer un nouveau projet et ne savent pas quel est le meilleur cadre pour commencer. Si vous êtes débutant dans ce cadre, la meilleure chose que je préfère est l’utilisation de démarrage à ressort (avec STS/Spring Tool Suite). Parce que ça aide beaucoup. Son faire toutes les configurations sur son propre. De plus, utilisez Hibernate avec spring pour construire vos bases de données. Ensuite, votre application sera la meilleure du présent. Je peux le garantir.
Comme c’est l’un des meilleurs cadres pour JEE au présent, il mourra dans le futur. Il y a des alternatives légères à venir. Alors restez à jour avec votre expérience, ne vous en tenez pas à un cadre particulier. La meilleure chose à faire est de parler couramment les concepts, pas les cadres.
Spring MVC est un framework Web basé sur un contrôleur de vue de modèle (MVC) sous Spring Framework. C’est le framework Web original construit sur l’API Servlet. Il fournit plusieurs fonctionnalités prêtes à l'emploi pour la création d'une application Web.
Reliure et validation personnalisables.
Mappage de gestionnaire personnalisable et résolution d'affichage.
Puissant thème et caractéristiques de résolution locale.
Spring Boot est un utilitaire puissant permettant de configurer rapidement une application en proposant des configurations par défaut pour créer des applications utilisant Spring. Voici la liste des fonctionnalités pour Spring Boot.
L'un des meilleurs prêts à utiliser la plate-forme de micro-services.
Utilisez une approche de configuration intelligente et conventionnelle qui réduit considérablement les phases de démarrage et de configuration de votre projet.
Gestion de la configuration puissante et flexible à l'aide du fichier application.properties ou yml.
Module de configuration automatique.
Les démarreurs Spring Boot offrent une configuration automatique prête à l'emploi pour votre application.
Module d'actionneur prêt à la production.
Cela simplifie les dépendances de Spring en prenant une vue opinionée.