1 - Introdução ao Spring Boot

Olá pessoal, nesse capítulo iremos iniciar nossa jornada de Spring Boot utilizando a linguagem Java. Antes de começarmos a codificar nosso projeto, gostaria de passar alguns conceitos básicos sobre a tecnologia, em seguida iremos ver os softwares que precisaremos ter instalados, você pode estar desenvolvendo essas atividades tranquilamente de qualquer sistema operacional como: Windows, Linux ou MacOS, vamos lá!

O que é o Spring?

O Spring é um framework open source web desenvolvido por Rod Johnson, teve seu desenvolvimento iniciado em 2013, a versão 1.0 foi disponibilizada em abril de 2014. O framework suporta três linguagens, sendo elas: Java, Kotlin e Groovy.

Atualmente é um dos frameworks web para back-end mais utilizados no mundo, no Brasil não seria diferente, empresas como: Itaú, Serasa, Accenture, Linx, HP, Sinqia, Banco Original, Toro Investimentos, Gympass, Oi e Samsung aderiram o uso desse poderoso framework.

O que é o Spring Boot?

Essa é uma dúvida muito frequente, Spring e Spring Boot são a mesma coisa? A resposta é simples, não são a mesma coisa. O Spring Boot auxilia na crição de projetos, uma reclamação muito recorrente dos desenvolvedores era a complexidade de gerenciar as dependências (em breve vou explicar o que são dependências).

Então lembre-se, Spring é o framework, já o Spring Boot é um inicializador de projetos utilizando o framework Spring.

O que é uma API?

API (Application Programming Interface) ou Interface de Programação de Aplicações, é um sistema web que possibilita realizar um conjunto de ações para outros sistemas back-end ou front-end, podemos criar as APIs em várias linguagens como: Java, PHP, Python, C#, entre outras. A comunicação com as APIs geralmente é feita por JSON (JavaScript Object Notation), com isso temos uma maneira padrão de enviar e receber dados.

Podemos ter uma API criada em Python, onde ela pode se comunicar com outra API criada em PHP por exemplo. Veja como as APIs são muito flexíveis, os desenvolvedores não precisam se prender a uma única linguagem de programação ou framework para desenvolver seus projetos.

O que são dependências?

O Spring é um framework muito robusto, temos diversas funcionalidades que podem ser implementadas, porém nem sempre utilizamos todas elas. Pensando em termos um sistema mais enxuto e com todas as funcionalidades que realmente queremos utilizar, o Spring adota o uso de dependências.

Vamos supor que seja necessário criar um formulário de contato, para isso será necessário informar a dependência responsável pelo envio de e-mail.

Que tal outro exemplo? Vamos imaginar que é necessário gerar relatórios em PDF, mais uma vez precisaremos especificar o uso de uma dependência que faça essa ação.

Já imaginou o Spring carregar todas as dependências? A performance do sistema ficaria comprometida, além disso vale lembrar que as dependências podem sofrer atualizações, muitas vezes é necessário utilizar uma dependência mais antiga para fazer alguma ação, devido a não atualização de alguma parte do sistema ou integração com outros softwares.

Geralmente as dependências possuem o nome e a versão, fazendo com que todos os desenvolvedores ao executar algum projeto em Spring possuam exatamente as mesmas dependências e suas respectivas versões.

Para gerenciar as dependências o Spring possui duas alternativas, o Maven (mais utilizado) e Grandle. Se quiser dar uma olhada nas dependências que podemos estar importando, há um site bem legal que é o MVN Repository.

Softwares utilizados

Para seguir esse tutorial e os demais, tenha os seguintes softwares instalados:

Faça a instalação desses softwares, na próxima aula iremos configurar o Visual Studio Code para podermos criar nossos projetos.

Caso queira acompanhar esse tutorial de Spring Boot através de vídeos, acesse minha playlist no YouTube, deixarei abaixo a primeira aula do curso, até a próxima ;)

Fontes utilizadas para a criação desse tutorial: