Melhor resposta
A maioria das respostas na internet são muito vagas, portanto podem confundir um iniciante.
A versão do Spring em toda a indústria é Spring 3.0, mudanças da versão anterior, ou seja, 2.5 consiste em (JDK 5 compatível): –
Estrutura de teste Spring MVC – Processamento MVC assíncrono no Servlet 3.0 – anotações de definição @Bean personalizadas em @ Classes de configuração – @Autowired e @Value para serem usadas como meta-anotações – Refinamentos de simultaneidade na estrutura – Carregando WebApplicationContexts na estrutura TestContext – JCache 0.5 (JSR-107)
Spring 2.X consistia principalmente em 6 módulos, com suporte JDK 4: –
- Spring Core Module
- Spring Context [J2EE]
- Spring DAO Module [Spring JDBC]
- Módulo Spring ORM
- Spring AOP [Programação Orientada a Aspectos]
- Módulo Spring WEB-MVC
Acima difere da versão anterior do Spring 1.x com 7 módulos.
Resposta
Alguns fatos verifique primeiro:
- Spring Framework e Spring Boot são usados para criar aplicativos Java Enterprise.
- Pode-se fazer tudo usando Spring Framework que pode ser alcançado pelo Spring Boot.
Então, por que Spring Boot ?
Para entender isso, é preciso entender a filosofia de design por trás da criação do Spring Boot. Se você entende a filosofia / objetivo do design, então saberia automaticamente a diferença entre eles.
Darei alguns destaques desses objetivos de design:
- Convenção sobre configuração É um paradigma de design de software usado por muitos sistemas / frameworks de software que fornece padrões razoáveis para seu usuário, obviamente, seguindo o melhores práticas e sem perder flexibilidade. O impacto deste princípio de design é profundo e inclui; boa arquitetura, facilidade de manutenção, criação de produto uniforme e padrão, menor número de decisões para o usuário, aumento na produtividade geral, desenvolvimento mais rápido, etc., apenas para citar alguns. A ideia é que o sistema / estrutura forneceria padrões razoáveis para seus usuários [por convenção] e se alguém se desvia / se afasta desses padrões, então apenas um precisa fazer as alterações de configuração. Vamos pegar alguns Exemplos : Exemplo 1: (implantação Simplificado) Suponha que o usuário esteja criando um aplicativo da web seguindo Spring MVC, então é óbvio que o usuário precisará de um contêiner como o Tomcat para implementar este aplicativo. Se sua estrutura pode fornecer Tomcat incorporado, o usuário não precisa perder tempo e esforço na instalação e configuração de sua instância de Tomcat. Se alguém não quiser esse comportamento padrão, o framework deve ter flexibilidade para isso também. Trabalhe para você: procure os potes dependentes de spring-boot-starter-web artifactId
org.springframework.boot - Desenvolvimento rápido de aplicativos Uma frase, maximizando o código que realmente agrega valor ou relacionado ao seu domínio e reduzindo o código clichê. Veja um exemplo: o código em seu aplicativo que empacota XML ou JSON não tem valor para o cliente nem tem um benefício para o desenvolvedor
Agora, discutimos a filosofia de design por trás da criação do Spring Boot. O que realmente faz? Como isso ajuda?
- Acelere o desenvolvimento
- Os desenvolvedores investem seu tempo na criação de soluções que realmente importam e agregam valores, em vez de perder tempo [esforço e tempo] na configuração seu ambiente de desenvolvimento, projetos, fazendo alterações de configuração e escrevendo códigos clichê
Esperando isso, eu sou capaz de explicar a diferença entre o framework Spring e Spring Boot da perspectiva do design.