Pular para conteúdo

Aula 02 - Spring Boot: Primeiros Passos 🌱

Hoje vamos conhecer o framework que vamos usar durante todo o curso: o Spring Boot, a forma mais rápida e popular de criar aplicações Java para produção.

😊 O que é o Spring Boot?

O Spring é um framework enorme, com muitas configurações manuais. O Spring Boot simplifica isso drasticamente, fornecendo configurações padrão sensatas ("convention over configuration") para que você comece a codificar rapidamente, sem se perder em XML.

Principais Vantagens

  • Servidor Embutido: Não precisa instalar um servidor separado — o Spring Boot já roda com Tomcat embutido.
  • Starters: Dependências pré-configuradas (ex: spring-boot-starter-web já traz tudo para criar APIs REST).
  • Auto Configuration: O Spring detecta o que você precisa e configura automaticamente.

📊 Estrutura de um Projeto Spring Boot

graph TD
    A[Projeto Spring Boot] --> B[Controller - Recebe requisições]
    A --> C[Service - Regras de negócio]
    A --> D[Repository - Acesso a dados]
    A --> E[Model/Entity - Representação dos dados]

🧠 Criando um Projeto com o Spring Initializr

Important

O Spring Initializr é a ferramenta oficial para gerar a estrutura inicial de um projeto Spring Boot, escolhendo as dependências necessárias.

Ao gerar o projeto, escolha: * Project: Maven * Language: Java * Dependencies: Spring Web

💻 Rodando a Aplicação

$ ./mvnw spring-boot:run
$
$   .   ____          _            __ _ _
$  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
$ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
$  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
$   '  |____| .__|_| |_|_| |_\__, | / / / /
$  =========|_|==============|___/=/_/_/_/
$ Started BackendApplication in 2.145 seconds

📝 Exercícios Progressivos

  1. Básico: O que significa "Convention over Configuration"?
  2. Básico: Para que serve um "Starter" no Spring Boot?
  3. Intermediário: Qual a vantagem de o Spring Boot já vir com um servidor embutido?
  4. Intermediário: O que é o Spring Initializr e para que serve?
  5. Desafio: Acesse o Spring Initializr e liste 5 dependências (starters) diferentes que você encontrou disponíveis.

🚀 Mini-projeto: Gere um novo projeto Spring Boot no Spring Initializr com a dependência Spring Web, importe no IntelliJ e rode a aplicação pela primeira vez.