1. Início
  2. Desenvolvimiento de software
  3. Spring Boot: Tudo que você precisa saber!

Spring Boot: Tudo que você precisa saber!

Quem desenvolve aplicações utilizando Java sabe que o processo de configuração de ambientes de desenvolvimento não é lá muito rápido. Mas, com a ajuda das ferramentas certas, como no caso do Spring Boot, é possível facilitar e muito essa jornada.

Se você faz parte do time de desenvolvedores que não aguenta mais perder tempo configurando um projeto ao invés de desenvolver, de fato, então o artigo de hoje chegou na hora certa.

A partir de agora, vamos te contar tudo o que é preciso saber para simplificar o desenvolvimento de aplicações Java, sem ter que fazer inúmeras configurações e otimizações.

Nesse artigo seguiremos esta ordem para explicar o Spring Boot:

O que é Spring Boot?

Para quem ainda não ouviu falar, o Spring Boot é uma ferramenta que nasceu a partir do Spring, um framework desenvolvido para a plataforma Java baseado nos padrões de projetos, inversão de controle e injeção de dependência.  

Embora o Spring framework tenha sido criado justamente com o intuito de simplificar as configurações para aplicações web, ele não atendeu 100% as expectativas do mercado ao ser lançado, já que as configurações seguiam grandes e complexas demais.

Sendo assim, um novo projeto foi acrescentado ao framework para mudar esse jogo e abstrair toda a complexidade que uma configuração completa pode trazer: o Spring Boot. 

Apresentando um modelo de desenvolvimento mais simples e direto, esse framework foi determinante para que o uso do ecossistema Spring decolasse. 

No geral, ele fornece a maioria dos componentes necessários em aplicações em geral de maneira pré-configurada, possibilitando uma aplicação rodando em produção rapidamente, com o esforço mínimo de configuração e implantação.

Em outras palavras, podemos entender o Spring Boot como um template pré-configurado para desenvolvimento e execução de aplicações baseadas no Spring.

Por que usar o Spring Boot?

Como dissemos anteriormente, o maior ganho dessa ferramenta é a simplificação na hora de desenvolver aplicações Java. Mas essa é apenas a pontinha do iceberg.

Na prática, essa ferramenta oferece série de vantagens, como, por exemplo, auxiliar nas configurações iniciais necessárias para que os desenvolvedores possam, enfim, começar a codificar, além de contribuir com projetos mais ágeis e organizados.

Ou seja: com o Spring Boot, você não precisa temer ter que gastar seu tempo desenvolvendo uma aplicação do zero, já que receberá a maioria dos recursos necessários.

Para cumprir com esse propósito, o framework se baseia em quatro princípios centrais:

  1. Oferecer uma experiência de início de projeto rápida e direta;
  2. Apresentar uma visão opinativa e flexível sobre o modo como os projetos Spring devem ser configurados;
  3. Fornecer requisitos não funcionais pré-configurados;
  4. Não prover geração de código e zerar a necessidade de arquivos XML.

Para complementar o seu aprendizado sobre as vantagens do Spring Boot, recomendamos o vídeo abaixo. 

Nele, o instrutor Java da AlgaWorks, Alexandre Afonso, destaca alguns pontos importantes da ferramenta, como o servidor embarcado (Tomcat) e o favorecimento da convenção sobre a configuração. Acompanhe:

Os componentes-base

O Spring Boot possui três componentes principais que fazem toda a “magia” apresentada acima acontecer. 

Na sequência, explicaremos qual é a função de cada uma delas, para você ficar mais inteirado sobre esse universo:

Spring Boot Starter

Sua função principal é combinar as várias dependências advindas de um projeto Spring Boot em uma única dependência, retirando-se a necessidade de configuração de múltiplas dependências no Maven ou no Gradle.

Por exemplo: para criar uma aplicação Spring web “convencional”, nós precisaríamos de, pelo menos, as seguintes dependências:

  • Spring Core;
  • Spring Web;
  • Spring Web MVC;
  • Servlet API.

Adicionalmente, ainda precisaríamos definir e configurar as dependências relativas ao servidor web a ser utilizado, como o Tomcat. 

Como deu para notar, esse é um processo bem trabalhoso. Sendo assim, Spring Boot utiliza os inicializadores (starters) a fim de diminuí-lo significativamente. 

Se estivermos falando de uma aplicação web, por exemplo, estas dependências podem ser resumidas a apenas uma: o spring-boot-starter-web.

Não precisamos nem dizer o quanto isso torna o processo de definição de componentes da aplicação muito mais simples, né?

Spring Boot AutoConfigurator

É responsável por gerenciar o processo de configuração de uma aplicação Spring Boot, fornecendo as configurações-padrão e fazendo a fusão destas com as possíveis configurações personalizadas.

Por exemplo: se estivermos utilizando o starter para aplicações web, é o Spring Boot AutoConfiguration quem vai fornecer as diretivas para resolução de views e resolvers

Em uma aplicação Spring Boot, o AutoConfigurator pode ser visto através da utilização da tradicional annotation @SpringBootApplication, que fica acima do método de inicialização da aplicação.

Internamente, a annotation @SpringBootApplication  é uma combinação das tradicionais annotations @Configuration, @ComponentScan e @EnableAutoConfiguration do Spring.

Spring Boot Acutator

Completando a lista, temos o Spring Boot Actuator, que possui duas funções principais: o provisionamento de endpoints e a obtenção de métricas da aplicação.

Por padrão, o Spring Boot AutoConfigurator define que o servidor web deve ser exposto em localhost na porta 8080. Quem faz o provisionamento desta configuração no servidor web é o Actuator.

Como startar?

Agora que você já sabe mais sobre o Java Spring Boot, chegamos à pergunta que não quer calar: como começar a utilizar este framework?

Bom, para iniciar a criação do projeto, recomendamos o uso de um facilitador disponibilizado pelo próprio Spring: o Spring Initializr. Com ele, é possível habilitar os módulos desejados em seu projeto em poucos cliques.

No final, a página irá gerar um projeto Maven ou Gradle pré-configurado e com todos os componentes solicitados especificados, bastando ao desenvolvedor começar a trabalhar com a codificação.

Para usar o Spring Initializr, basta acessar https://start.spring.io/ e inserir as informações necessárias sobre projeto, como:

  • Tipo de projeto que será utilizado (Maven ou Gradle);
  • Linguagem que será usada no desenvolvimento back-end;
  • Qual a versão do Spring Boot você pretende utilizar;
  • Grupo da aplicação;
  • Lista das dependências que o projeto irá usar.

Após finalizar o preenchimento, basta clicar no botão “Generate Project” para o Spring Initializr realizar a configuração e download de projeto em formato zip.

Na sequência, será preciso descompactar o arquivo e importá-lo para o IDE ou Editor de Código Fonte da sua preferência, para que você possa enfim iniciar o desenvolvimento. 

Aqui, uma boa alternativa é utilizar o Spring Tool Suite, um IDE que facilita o uso de Spring de modo geral e é uma mão na roda para criar projetos com Spring Boot. Caso você se interesse em instalá-lo, eis um vídeo que pode ajudar: 

Por fim, vale pontuar que o Spring Boot já conta com um servidor web Java embarcado, o TomCat, o que remove até mesmo a necessidade de configurar o servidor onde a aplicação será executada. 

Lembrando que, por padrão, ele roda a aplicação na porta 8080.

Quer conhecer a plataforma líder em recrutamento tech?

A solução mais completa para recrutar os melhores talentos tech.

Precisa de ajuda para recrutar talentos?

Conheça o Serviço de Recrutamento da Geekhunter

Leituras Recomendadas

Quer receber conteúdos incríveis como esses?

Assine nossa newsletter para ficar por dentro de todas as novidades do universo de TI e carreiras tech.