La mejor respuesta
La mayoría de las respuestas en Internet son muy vagas, por lo que pueden desconcertar a un principiante.
La versión de Spring para toda la industria es Spring 3.0, los cambios de la versión anterior, es decir, 2.5 consisten en (JDK 5 compatible): –
Spring MVC Test Framework – Procesamiento MVC asíncrono en Servlet 3.0 – anotaciones de definición de @Bean personalizadas en @ Clases de configuración – @Autowired y @Value para usarse como meta-anotaciones – Refinamientos de simultaneidad en el marco – Carga de WebApplicationContexts en el marco TestContext – JCache 0.5 (JSR-107)
Spring 2.X consistió principalmente en 6 módulos, JDK 4 compatible: –
- Módulo Spring Core
- Contexto Spring [J2EE]
- Módulo Spring DAO [Spring JDBC]
- Módulo Spring ORM
- Spring AOP [Programación orientada a aspectos]
- Módulo Spring WEB-MVC
Arriba difiere de la versión anterior Spring 1.x con 7 módulos.
Respuesta
Verifique primero algunos hechos:
- Tanto Spring Framework como Spring Boot se utilizan para crear aplicaciones Java Enterprise.
- Se podría hacer todo usando Spring Framework que se puede lograr con Spring Boot.
Entonces, ¿por qué Spring Boot ?
Para comprender esto, es necesario comprender la filosofía de diseño detrás de la creación de Spring Boot. Si comprende la filosofía / objetivo del diseño, automáticamente sabrá la diferencia entre ellos.
Daré algunos aspectos destacados de esos objetivos de diseño:
- Convención sobre configuración Es un paradigma de diseño de software utilizado por muchos marcos / sistemas de software que proporciona valores predeterminados razonables a sus usuarios, obviamente, siguiendo las mejores prácticas y sin perder flexibilidad. El impacto de este principio de diseño es profundo y esto incluye; buena arquitectura, capacidad de mantenimiento, creación de productos uniformes y estándar, menor número de decisiones para el usuario, aumento de la productividad general, desarrollo más rápido, etc., solo por mencionar algunos. La idea es que, el sistema / marco proporcionaría valores predeterminados razonables para sus usuarios [por convención] y si uno se desvía / se aparta de estos valores predeterminados, solo uno necesita hacer cambios de configuración. Tomemos algunos Ejemplos : Ejemplo 1: (Implementación Simplificado) Suponga que el usuario está creando una aplicación web siguiendo Spring MVC, entonces es obvio que el usuario necesitará un contenedor como Tomcat para implementar esta aplicación. Si su marco puede proporcionar Tomcat integrado, el usuario no tiene que perder su tiempo y esfuerzo en instalar y configurar su instancia de Tomcat. Si uno no desea este comportamiento predeterminado, el marco también debe tener flexibilidad para eso. Trabaje para usted: Busque los frascos dependientes de spring-boot-starter-web artifactId
org.springframework.boot - Desarrollo rápido de aplicaciones Una oración, maximizando el código que realmente agrega valor o relacionado con su dominio y reduciendo el código repetitivo. Tome un ejemplo: el código en su aplicación que calcula XML o JSON no tiene valor para el cliente ni tiene un beneficio para el desarrollador
Ahora hemos discutido la filosofía de diseño detrás de la creación de Spring Boot. ¿Qué hace realmente? ¿Cómo ayuda?
- Acelerar el desarrollo
- Los desarrolladores invierten su tiempo en crear soluciones que realmente importan y agregan valores en lugar de perder horas [tanto esfuerzo como tiempo] en la configuración mejorar su entorno de desarrollo, proyectos, realizar cambios de configuración y escribir códigos estándar
Con la esperanza de eso, puedo explicar la diferencia entre Spring Framework y Spring Boot desde la perspectiva del diseño.