DEV Community

Cover image for Qual a diferença entre Spring e Spring Boot?
Victor Hechel
Victor Hechel

Posted on

Qual a diferença entre Spring e Spring Boot?

Quando se fala de frameworks Java, Spring certamente é o mais popular entre eles. Ao adentrar nesse universo você vai encontrar vários nomes como Spring Cloud, Spring Data, mas principalmente Spring Boot. Muitas vezes se fala na ferramenta Spring Boot ao invés de somente Spring. Mas afinal de contas, o que significa cada um deles e quais suas diferenças?

Spring Framework

O Spring é um framework open-source para desenvolvimento de aplicações Java (atualmente se estendendo para Groovy e Kotlin). Sua primeira versão foi lançada em 2003 como uma alternativa para facilitar a construção de projetos J2EE (plataforma da Sun para rodar aplicações corporativas complexas e robustas).

Entre as principais vantagens trazidas pelo Spring estão a Inversão de Controle (IoC) e Injeção de Dependência (DI) através do Spring Container, uma alternativa muito mais simples e leve do que o velho EJB (Enterprise Java Bean). Através dessa tecnologia nós podemos delegar ao Spring a criação e manutenção de componentes sem explicitar novos objetos através do new.

Outra facilidade implementada pelo framework é a possibilidade de usar módulos comuns no desenvolvimento de aplicações corporativas. Com algumas configurações é possível utilizar o Hibernate, JUnit e outras ferramentas para controle de sessão, mensageria e etc...

Spring Boot

O Spring Framework facilitou muito o desenvolvimento de aplicações Java, porém ainda não tinha atingido o seu potencial máximo devido a complexa configuração necessária para rodar uma aplicação. Com isso em mente, no ano de 2014 é lançado o projeto Spring Boot com o objetivo de facilitar o setup do Spring.

Através dessa nova ferramenta não é mais necessário utilizar arquivos xml para configurações da aplicação, apenas anotações. A adotação de novas dependências no projeto também se tornou muito mais simples, bastando praticamente só importa-las através do maven ou gradle. Ao puxar o Spring MVC por exemplo, já vem embutido um server Apache Tomcat pronto para uso.

Em resumo, o Spring Boot é uma extensão do Spring Framework que traz diversos recursos pré configurados facilitando e acelerando o processo de manutenção e setup.

Quando usar cada um?

Como o Spring Boot busca facilitar a utilização do Spring dificilmente um projeto atual não usará ele. A utilização do Spring Framework puro seria aconselhável somente em casos de necessidade técnica muito especifica em que as configurações embutidas do Boot atrapalhariam o projeto.

Discussion (0)