ventajas tutorial mvc framework espaƱol entre diferencia desventajas desde curso cero spring spring-mvc spring-boot

tutorial - spring y spring boot



Diferencia entre Spring MVC y Spring Boot (9)

Aquí hay algunos puntos principales que diferencian Spring y Spring Boot:

Primavera :

  1. La principal diferencia es la "capacidad de prueba".
  2. La primavera viene con el DI y el COI. A través del cual todo el trabajo duro realizado por el sistema no necesitamos hacer ningún tipo de trabajo (por ejemplo, normalmente definimos el objeto de la clase manualmente, pero a través de Di simplemente anotamos con @Service o @Component; la clase de coincidencia los administra).
  3. A través de la anotación @Autowired, nos burlamos () fácilmente en el momento de la prueba de la unidad.
  4. Código de duplicación y fontanería. En JDBC, escribimos el mismo código varias veces para realizar cualquier tipo de operación de base de datos. Spring resuelve ese problema a través de Hibernate y ORM.
  5. Buena integración con otros marcos. Como Hibernate, ORM, Junit y Mockito.

Arranque de primavera:

  1. Cree una aplicación rápida para que, en lugar de administrar una sola aplicación web grande, las dividamos individualmente en diferentes microservicios que tienen su propio alcance y capacidad.
  2. Configuración automática usando Web Jar: En Spring normal hay mucha configuración como DispatcherServlet, Component Scan, View Resolver, Web Jar, XML. (Por ejemplo, si quisiera configurar el origen de datos, Entity Manager Transaction Manager Factory). Configure automáticamente cuando no esté disponible usando class-path.
  3. Viene con Spring Starters predeterminados, que vienen con alguna dependencia de configuración de Spring predeterminada (como Spring Core, Web-MVC, Jackson, Tomcat, Validación, Enlace de datos, Registro). No se preocupe por el problema de versiones también.

Nota: No contiene todos los puntos.

Acabo de empezar a aprender Spring. En mi próximo paso, me gustaría desarrollar aplicaciones web más grandes.

Ahora me pregunto si debería comenzar con Spring Boot o Spring MVC. Ya he leído algunas cosas, pero es confuso porque ambos se parecen.

Entonces, ¿cuáles son las diferencias entre los dos?


En términos simples se puede expresar como:

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).

Y Spring Boot es un marco de opinión, por lo que su construcción tiene en cuenta el rápido desarrollo, la menor necesidad de tiempo para la configuración y el excelente apoyo de la comunidad.


Sin repetir lo mismo en respuestas anteriores, estoy escribiendo esta respuesta para las personas que buscan comenzar un nuevo proyecto y no saben cuál es el mejor marco y el mejor para comenzar. Si eres un principiante en este marco, lo mejor que prefiero es usar Spring Boot (con STS / Spring Tool Suite ). Porque ayuda mucho. Hace todas las configuraciones por sí solo. Además, use Hibernate con Spring para construir sus bases de datos. Entonces su aplicación será la mejor en el presente. Puedo garantizar eso.

Dado que este es uno de los mejores marcos para JEE en el presente, pero va a morir en el futuro. Hay alternativas livianas por venir. Así que manténgase actualizado con su experiencia, no se adhiera a un marco en particular. Lo mejor es tener fluidez en los conceptos, no en los marcos.


SpringBoot en realidad está preconfigurado para reducir la configuración de la caldera y proporcionar la forma más fácil o rápida de iniciar su aplicación.

SpringBoot toma el dolor de cabeza de la configuración del desarrollador en sí mismo en lugar de Spring.

Implícitamente, SpringBoot se basa en el concepto de Spring Framework como bean, controlador, servicios, jpa, etc.

Se puede decir que SpringBoot es un envoltorio de Spring.

En SpringBoot, el puerto predeterminado del servidor es 8080, pero si desea cambiar, vaya a su application.properties y escriba

server.port = 8084


Spring MVC es un subproyecto de Spring Framework, dirigido al diseño y desarrollo de aplicaciones que utilizan el patrón MVC (Modelo-Vista-Controlador). Spring MVC está diseñado para integrarse total y completamente con Spring Framework y transitivamente, la mayoría de los demás subproyectos.

Spring Boot puede entenderse bastante bien a partir de este artículo por el equipo de Spring Engineering. Supuestamente es obstinado, es decir, aboga fuertemente por un cierto estilo de desarrollo rápido, pero está diseñado lo suficientemente bien como para acomodar excepciones a la regla, si lo desea. En resumen, es una convención sobre la metodología de configuración que está dispuesta a comprender su necesidad de romper la convención cuando se justifique.


Spring MVC y Spring Boot están bien descritos en otras respuestas, y así, sin repetir eso, permítanme saltar directamente a los detalles. Spring Boot y Spring MVC no son comparables ni se excluyen mutuamente. Si desea realizar el desarrollo de aplicaciones web con Spring, de todos modos usaría Spring MVC . Su pregunta es si usar Spring Boot o no.

Para desarrollar aplicaciones comunes de Spring o comenzar a aprender Spring, creo que se recomienda usar Spring Boot . Facilita considerablemente el trabajo, está listo para la producción y está siendo ampliamente adoptado rápidamente.

A veces he visto principiantes haciendo esta pregunta porque en STS (Spring Tool Suite) hay dos asistentes: uno para crear un proyecto Spring Boot y otro para crear un proyecto Spring MVC. Por lo tanto, mi recomendación sería crear un proyecto Spring Boot y elegir Web como módulo en eso.


Spring MVC es un marco web basado en el controlador de vista de modelo (MVC) en Spring Framework. Es el marco web original creado en la API de Servlet. Proporciona varias funciones listas para usar para crear una aplicación web.

  • Clara separación de roles. Cada rol (controlador, validador, objeto de comando, objeto de formulario, objeto de modelo, DispatcherServlet, mapeo de manejador, resolución de vista, etc.) puede cumplirlo un objeto especializado.
  • Una configuración potente y directa de las clases de framework y aplicación como JavaBeans.
  • Enlace y validación personalizables.

  • Mapeo de manejador personalizable y resolución de vista.

  • Potente tema y funciones de resolución local.

Spring Boot es una poderosa utilidad para configurar una aplicación rápidamente al ofrecer configuraciones predeterminadas para crear aplicaciones con Spring. Aquí está la lista de características para Spring Boot.

  • Uno de los mejores listos para usar la plataforma de micro servicios.

  • Uso de un enfoque inteligente y convencional sobre la configuración que reduce significativamente la fase de inicio y configuración de su proyecto.

  • Gestión de configuración potente y flexible utilizando el archivo application.properties o yml.

  • Módulo de autoconfiguración.

  • Spring Boot starters para ofrecer una configuración automática lista para usar para su aplicación.

  • Módulo actuador listo para producción.

  • Simplifica las dependencias de Spring al tomar la vista obstinada.


  • Con el arranque de primavera no necesitará construir la configuración. Esto se habrá hecho automáticamente cuando cree el proyecto.

  • Si usa Spring MVC necesita construir la configuración usted mismo. Es más complicado, pero es crucial.


  • Spring MVC es un marco MVC orientado a HTTP completo administrado por Spring Framework y basado en Servlets. Sería equivalente a JSF en la pila JavaEE. Los elementos más populares son las clases anotadas con @Controller , donde implementa métodos a los que puede acceder utilizando diferentes solicitudes HTTP. Tiene un @RestController equivalente para implementar API basadas en REST.
  • Spring boot es una utilidad para configurar aplicaciones rápidamente, que ofrece una configuración lista para usar con el fin de crear aplicaciones con Spring. Como ya sabrá, Spring integra una amplia gama de módulos diferentes bajo su paraguas , como spring-core , spring-data , spring-web (que incluye Spring MVC, por cierto) y así sucesivamente. Con esta herramienta, puede decirle a Spring cuántos de ellos usar y obtendrá una configuración rápida para ellos (se le permite cambiarlo usted mismo más adelante).

Por lo tanto, Spring MVC es un marco para ser utilizado en aplicaciones web y Spring Boot es un inicializador de proyectos listo para producción basado en Spring. Puede ser útil visitar la wiki de etiquetas Spring MVC y la wiki de etiquetas Spring Boot en SO.