Me sorprendió lo mismo. Hice un curso en primavera (que ahora está un poco desactualizado, aunque no lo suficiente como para ser inútil). Entonces decidí hacer un curso de primavera completamente nuevo, y como la gente me preguntaba sobre Spring Boot, pensé que lo haría.
Tan pronto como comencé a usar Spring Boot, quedó claro por qué es mucho mejor que Spring sin Spring Boot.
Spring Boot suena como algo realmente diferente a Spring MVC, pero en realidad es exactamente lo mismo pero con valores predeterminados preconfigurados que puede usar o no, tal como lo desee.
- ¿Cuáles son las aplicaciones de las integraciones?
- ¿Cuáles son las aplicaciones creadas en Java?
- ¿Qué tecnologías son las mejores para el desarrollo web?
- ¿Cuál es la arquitectura perfecta para una aplicación web basada en SaaS multiinquilino?
- ¿Qué tan avanzadas pueden ser las notificaciones push con aplicaciones web progresivas?
Spring Boot todavía te ofrece una aplicación web convencional. Todo lo que Spring Boot realmente hace, en última instancia, es configurar un montón de valores predeterminados.
Sin Spring Boot, descubrir qué dependencias necesita para una aplicación web Spring es una pesadilla. Debes asegurarte de que estás utilizando versiones compatibles de todo, y deben ser compatibles con tu versión de Java y la versión de tu servidor. Configurar el registro y REST puede ser particularmente desagradable. También puede perder fácilmente una dependencia o usar la versión incorrecta de algo, o incluso la jarra incorrecta por completo.
Si intenta ir a la vieja escuela y realmente descarga estos frascos en lugar de usarlos, por ejemplo, Maven, será mejor que reserve un día para rastrear frascos.
Con Spring Boot, es casi trivialmente fácil en comparación. El proyecto Spring Boot mantiene una lista de dependencias que son compatibles entre sí, cubriendo casi todo lo que es probable que desee utilizar que posiblemente pueda causar un problema. Si usa Maven (sin duda es lo mismo con Gradle), puede perder los números de versión para sus dependencias, porque el Spring Boot pom.xml principal los especificará por usted. Si desea diferentes versiones, puede anular fácilmente los valores predeterminados.
Sin Spring Boot, debe configurar su servlet de despachador, ver resolvers, etc. Con Spring Boot, el servlet de despachador se maneja por usted y configurar resolvers es fácil.
Además de eso, si bien puede implementar su aplicación como un archivo .war normal en un servidor existente, también tiene la opción de ejecutarlo como un war o jar ejecutable, que contiene su propio servidor incorporado listo para producción, eligiendo uno de varios. Eso significa que puede desarrollar una aplicación web Spring sin instalar un servidor, ejecutarla como un programa Java normal, y tiene una aplicación web y un servidor todo en uno, y está listo para su uso en producción, para ser instalado como un servicio del sistema o como quieras. Pero también puede usarlo como un archivo .war normal si no lo desea.
Agregar soporte de Hibernate también es muy fácil. Si usa Spring Data JPA también, incluso podría casi olvidar que está usando Hibernate.
Puede configurar todo esto usted mismo, pero viene casi de fábrica con Spring Boot. Unas pocas entradas de configuración y unos pocos clics en su IDE, o la adición de unas pocas líneas en su archivo de compilación, y estará ausente.
Si no desea usar algo que proporciona Spring Boot, simplemente no puede usarlo. Al final, tienes una aplicación web Spring normal, pero Spring Boot ha proporcionado un montón de valores predeterminados que de lo contrario tendrías que configurar manualmente.
Mis cursos utilizan principalmente JSP viejos y buenos, porque todavía son muy populares. No es nada difícil hacer que Spring Boot funcione con JSP, incluso en un archivo ejecutable .war o .jar, aunque Spring Boot intenta guiarte un poco hacia Thymeleaf, pero eso es porque Thymeleaf, aunque no parece ser tan ampliamente utilizado como los JSP todavía, representa una mejora significativa sobre los JSP.
En resumen, la única razón por la que puedo ver que no te gustaría usar Spring Boot es si tienes que lidiar con las aplicaciones de Spring heredadas o si quieres una configuración muy inusual. Spring Boot no proporciona nada que deba usar si no lo desea (ni siquiera el servidor integrado), y nada que deba formar parte de su aplicación si no desea que lo sea.