O que é o Spring Boot? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 00 Horas 

 42 Min 

 55 Seg 

   Tempo restante da oferta: 00 42 55 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é o Spring Boot?  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) [ Java ](https://www.treinaweb.com.br/blog/categoria/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.

 [ Cleyson Lima ](https://www.treinaweb.com.br/blog/autor/cleyson-lima) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/o-que-e-o-spring-boot.png)  

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](https://www.treinaweb.com.br/blog/o-que-e-o-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](https://spring.io/projects/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.

[  ![Selenium - Testes Automatizados com TestNG](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/selenium.svg)   Curso Selenium - Testes Automatizados com TestNG Conhecer o curso ](https://www.treinaweb.com.br/curso/selenium-testes-automatizados-com-testng)

## 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](https://start.spring.io/), 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](https://start.spring.io/) 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.

![Print da página do spring initializr com as informações necessárias para criar o projeto Spring](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/spring-initializr.png)

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](https://www.treinaweb.com.br/blog/o-que-e-uma-ide-ambiente-de-desenvolvimento-integrado/) ou [Editor de Código Fonte](https://www.treinaweb.com.br/blog/principais-editores-de-codigo-para-desenvolvimento/) 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.

```java
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.

```html

  Spring Boot - Index

```

[  ![Spring Framework - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)   Curso Spring Framework - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/spring-framework-fundamentos)

## 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:

```bash
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](https://www.treinaweb.com.br/blog/criando-uma-api-rest-com-o-spring-boot/) para um melhor contato com os frameworks do projeto Spring.

- [ #Java ](https://www.treinaweb.com.br/blog/tag/java)
- [ #Desenvolvimento ](https://www.treinaweb.com.br/blog/tag/desenvolvimento)
- [ #Spring ](https://www.treinaweb.com.br/blog/tag/spring)
- [ #Spring Boot ](https://www.treinaweb.com.br/blog/tag/spring-boot)

Autor

 ![Cleyson Lima](//secure.gravatar.com/avatar/db30efb102ffa5d5204cebe12060b111?d=mm)

## 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](https://www.treinaweb.com.br/blog/autor/cleyson-lima)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/spring-framework-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     3 anos atrás

    ##  [ Spring Boot - Trabalhando com Controllers ](https://www.treinaweb.com.br/blog/spring-boot-trabalhando-com-controllers) 

     Veja nesse artigo como trabalhar com controllers em uma aplicação Spring Web MVC com Spring Boot.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/08/DEPLOY-SPRING-DIGITAL-OCEAN-400x280.jpg)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     3 anos atrás

    ##  [ Deploy de uma aplicação Spring Boot na DigitalOcean ](https://www.treinaweb.com.br/blog/deploy-de-uma-aplicacao-spring-boot-na-digitalocean) 

     Aprenda nesse artigo como realizar o Deploy de uma aplicação Spring Boot em uma VPS da DigitalOcena, usando ferramentas como o Nginx.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/10/configurando-ambiente-de-desenvolvimento-spring-boot-no-linux-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     5 anos atrás

    ##  [ Configurando ambiente de desenvolvimento Spring Boot no Linux ](https://www.treinaweb.com.br/blog/configurando-ambiente-de-desenvolvimento-spring-boot-no-linux) 

     Aprenda como instalar e configurar o ambiente de desenvolvimento Spring Boot no Linux

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/09/configurando-ambiente-de-desenvolvimento-spring-boot-no-windows-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     5 anos atrás

    ##  [ Configurando ambiente de desenvolvimento Spring Boot no Windows ](https://www.treinaweb.com.br/blog/configurando-ambiente-de-desenvolvimento-spring-boot-no-windows) 

     Aprenda como instalar e configurar o ambiente de desenvolvimento Spring Boot no Windows

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/08/deploy-de-uma-aplicacao-spring-boot-no-heroku-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     5 anos atrás

    ##  [ Deploy de uma aplicação Spring Boot no Heroku ](https://www.treinaweb.com.br/blog/deploy-de-uma-aplicacao-spring-boot-no-heroku) 

     Neste artigo veremos como podemos realizar o deploy de uma aplicação Spring Boot na nuvem com o Heroku.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/spring-framework-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ O que é Spring Framework? ](https://www.treinaweb.com.br/blog/o-que-e-spring-framework) 

     Confira neste artigo o Spring framework: um ecossistema de desenvolvimento para facilitar a criação de aplicações Java.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/o-que-e-o-spring-security-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ O que é o Spring Security? ](https://www.treinaweb.com.br/blog/o-que-e-o-spring-security) 

     Neste artigo veremos o que é o Spring Security, quais suas funcionalidades e como ele pode aumentar a segurança de nossas aplicações Java.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/10/configurando-ambiente-de-desenvolvimento-spring-boot-no-macos-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     5 anos atrás

    ##  [ Configurando ambiente de desenvolvimento Spring Boot no MacOS ](https://www.treinaweb.com.br/blog/configurando-ambiente-de-desenvolvimento-spring-boot-no-macos) 

     Aprenda como instalar e configurar o ambiente de desenvolvimento Spring Boot no MacOS

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/o-que-e-o-spring-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ O que é o Spring? ](https://www.treinaweb.com.br/blog/o-que-e-o-spring) 

     Veja neste artigo o que é o Spring.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/10/30133314/swagger-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     7 anos atrás

    ##  [ Documentando uma API Spring Boot com o Swagger ](https://www.treinaweb.com.br/blog/documentando-uma-api-spring-boot-com-o-swagger) 

     Porque documentar uma aplicação API Spring Boot com o Swagger? Quando se trabalha em equipe, uma má documentação pode dificultar (e muito) o trabalho dos demais desenvolvedores. Mas com o Swagger, via SpringFox, é possível documentar uma API Spring Boot com poucas linhas de código.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/spring-framework-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     3 anos atrás

    ##  [ Trabalhando com Scheduled Tasks no Spring Boot ](https://www.treinaweb.com.br/blog/trabalhando-com-scheduled-tasks-no-spring-boot) 

     Descubra o poder das Scheduled Tasks no Spring Boot. Aprenda a criar, configurar e aprimorar tarefas agendadas em Java com o Spring Framework.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/05112250/SPRING-BOOT-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ Criando uma API REST com o Spring Boot ](https://www.treinaweb.com.br/blog/criando-uma-api-rest-com-o-spring-boot) 

     Todos os passos da criação de uma API REST com o framework Spring Boot do Java, no Visual Studio Code.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **00h 42min 55s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
