O Spring Boot é um framework baseado no Spring Framework que facilita a criação de aplicações Java.
Ele elimina muita configuração manual, oferecendo:
- Projeto pronto para rodar (standalone).
- Configurações automáticas (auto-configuration).
- Servidor embarcado (Tomcat/Jetty).
- Facilidade para criar APIs e microsserviços.
Em resumo: Spring Boot acelera o desenvolvimento e simplifica a vida do desenvolvedor.
O Spring Boot MVC (Model-View-Controller) é um padrão dentro do Spring Boot para aplicações web.
- Model (M): Representa os dados (Entidades, Regras de negócio).
- View (V): Interface do usuário (HTML, JSON, etc).
- Controller (C): Controla as requisições HTTP, chamando o Model e devolvendo a View/Response.
É o padrão mais comum para APIs REST no Spring Boot.
flowchart TD
A[Cliente/Usuário] -->|Requisição HTTP| B[Controller]
B --> C[Service/Negócio]
C --> D[Repository/Banco de Dados]
D --> C
C --> B
B -->|Resposta (JSON/HTML)| A
## Criar um projeto **Spring Boot** do zero no Spring Initializr
---
## 1) Acessar o Spring Initializr
- 🌐 Link: https://start.spring.io/
---
## 2) Configurar o projeto
**Project**
- `Maven Project`
**Language**
- `Java`
**Spring Boot**
- Versão estável recomendada (ex.: `3.5.3`)
**Project Metadata**
- **Group:** `com.deliverytech`
- **Artifact:** `delivery-api`
- **Name:** `delivery-api`
- **Description:** `Aplicação de Delivery`
- **Package name:** `com.deliverytech.deliveryapi`
- **Packaging:** `Jar`
- **Java:** `21`
> ⚠️ **Observação:** nomes de **package** não aceitam hífen. Por isso use `com.deliverytech.deliveryapi` (ou `com.deliverytech.delivery_api`).
---
## 3) Adicionar dependências
Clique em **ADD DEPENDENCIES** e selecione:
- [x] Spring Web
- [x] Spring Data JPA
- [x] H2 Database
- [x] Spring Boot DevTools
- [x] Lombok
---
## 4) Gerar o projeto
- Clique em **GENERATE** para baixar o `.zip`.
---
## 5) Extrair e abrir no VS Code
1. Extraia o `.zip` baixado.
2. Entre na pasta do projeto e abra no VS Code:
```bash
# Exemplo (ajuste o nome do arquivo se necessário)
unzip delivery-api.zip
cd delivery-api
code .