Desenvolvimento Back-end Java

O que é o Spring Boot?

Neste artigo veremos o que é o Spring Boot e como ele pode nos auxiliar no desenvolvimento de aplicações Spring.

5 meses atrás

Todo desenvolvedor Java sabe o quão trabalhoso é configurar uma aplicação. Uma vez que é necessário a criação de várias pastas e arquivos XML extensos e o menor dos erros pode impedir o funcionamento correto da aplicação, o que resulta em uma tremenda dor de cabeça até a identificação e correção do problema.

Certamente todo esse trabalho de configuração é por vezes frustrante. Pois o que o desenvolvedor deseja é escrever o código das regras de negócio, acompanhando os resultados na tela sem perda de tempo.

Entretanto, dentro do ecossistema do projeto Spring temos o Spring Boot que facilita todo esse trabalho de configuração.

Neste artigo você entenderá um pouco mais sobre como ele torna o desenvolvimento de aplicações Spring mais prazeroso.

O que é o Spring Boot?

O Spring Boot é um framework que torna fácil a criação de aplicações Spring autossuficientes e robustas, possibilitando a execução imediata. Contudo isso só é possível por conta da abordagem opinativa sobre a plataforma Spring e bibliotecas de terceiros, que permite ao desenvolvedor gastar o mínimo de tempo possível configurando o projeto, e sim codificando suas regras de negócio.

Dentre as principais funcionalidades do Spring Boot podemos citar:

  • A criação de aplicações Spring autossuficientes;
  • Servidores web como o Tomcat, Jetty e Undertow embutidos;
  • Prover starter’s opinativos para gerenciamento de dependências e build;
  • Configuração automática de bibliotecas Spring e de terceiros sempre que possível;
  • Funcionalidades para ambiente de produção como métricas, health checks e configurações externalizadas.
  • Dispensar a necessidade de configuração XML e geração de código.

Como o Spring Boot funciona?

A princípio, para que tudo isso funcione, o Spring Boot utiliza o conceito de convenção sobre configuração, ou seja, o Spring Boot já possui uma série de configurações padrões para as bibliotecas Spring ou de terceiros que você deseja utilizar.

Entretanto, isso não impede que você personalize essas configurações. É bastante interessante que só é necessário alterar as configurações que deseja, as demais configurações do projeto seguem inalteradas.

Todo esse processo de autoconfiguração e gerenciamento de dependências providos pelo Spring Boot é feito através dos Starters - uma dependência que inicializa algum módulo dentro do nosso projeto.

Só para exemplificar, imagine o desenvolvimento de uma aplicação web com o Spring Web MVC, seria necessário adicionar no nosso projeto as dependências do Spring Core, Spring Web e Spring Web MVC. Além disso haveria a necessidade de configuração dos arquivos XML para que essas dependências funcionem corretamente. Com o Spring Boot, adicionando-se o spring-boot-starter-web o projeto já estará configurado corretamente para utilizar o Spring Web MVC.

Ainda assim existe outra vantagem sobre o uso dos starters do Spring Boot, é que ao utilizá-los, o nosso arquivo de dependências fica menor e mais organizado.

O Spring Initializr

Além disso, para facilitar ainda mais o desenvolvimento de aplicações com o Spring Boot, o Spring possui uma página chama spring initializr, nesta página você repassa as informações do seu projeto como a versão do Spring Boot, GroupID, ArtifactID e os starters. Assim, o spring initializr gera um projeto base para que você já comece o desenvolvimento das regras de negócio da sua aplicação.

Criando uma aplicação Spring Boot na prática

Para ilustrar o funcionamento do Spring Boot, vamos criar uma aplicação web simples com o auxílio do spring initializr.

Primeiramente, acesse o site do spring initializr e preencha as informações:

  • Project: Selecione a opção Maven
  • Language: Selecione a opção Java
  • Spring Boot: Selecione a opção 2.4.2
  • Group: br.com.treinaweb
  • Artifcat: spring-boot-teste
  • Packaging: Jar
  • Java: 11

Como esse será um projeto web, será necessária a adição dos starters do Spring Web e do Thymeleaf para servir como Template Engine.

Então, preenchidas todas as informações, clique no botão “GENERATE” para baixar o arquivo .zip contendo o projeto.

Em seguida descompacte o arquivo .zip e o importe para a IDE ou Editor de Código Fonte que você usa.

Agora crie uma nova pasta chamada controller dentro da pasta src/main/java/br/com/treinaweb/springboottest.

Logo após a criação da pasta, crie um novo arquivo Java chamado HomeController.java com o seguinte código.

package br.com.treinaweb.springbootteste.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class HomeController {

    @GetMapping("/saudacao/{nome}")
    public String saudacao(@PathVariable String nome, ModelMap model) {
        model.addAttribute("nome", nome);

        return "saudacao";
    }

}

Agora que já temos a nossa Action e nosso Controller criados, o que precisamos fazer é criar a página HTML que será exibida para o cliente.

Dentro da pasta resources/templates crie um arquivo HTML chamado saudacao.html com o seguinte código.

<!DOCTYPE html>
<html lang="pt-br" xmlns:th="<http://www.thymeleaf.org>">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Spring Boot - Index</title>
</head>
<body>
  <h1 th:text="'Olá, ' + ${nome}"></h1>
</body>
</html>

Spring Framework - Tópicos Avançados
Curso Spring Framework - Tópicos Avançados
Conhecer o curso

Executando nossa aplicação Spring Boot

Por fim, agora que já temos a nossa aplicação criada, temos que executá-la para vermos o resultado no navegador.

A fim de executar a aplicação, abra o seu terminal e use o comando abaixo:

mvn spring-boot:run

Esse comando executa a aplicação que estará acessível a partir do localhost na porta 8080, acesse a url: http://localhost:8080/saudacao/TreinaWeb e uma página com o texto “Olá, TreinaWeb” aparecerá na tela.

Conclusão

Nesse artigo você viu como o Spring Boot nos ajuda durante o desenvolvimento de aplicações Spring, a criação de um projeto Spring Boot usando o Spring Initializr e o desenvolvimento de uma simples página usando o Spring Web MVC.

Embora esta seja uma aplicação bastante simples, perceba que em nenhum momento houve a necessidade de criar nenhum arquivo XML para a configuração dos módulos do Spring Web MVC e do Thymeleaf. Além disso, nem tivemos o trabalho de configurar um servidor Apache para servir a nossa aplicação, o que nos poupa tempo que é melhor empregado na codificação das regras de negócio.

Recomendo também a leitura do artigo Criando uma API REST com Spring Boot para um melhor contato com os frameworks do projeto Spring.

Autor(a) do artigo

Cleyson Lima
Cleyson Lima

Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python.

Todos os artigos

Artigos relacionados Ver todos