Apostila Prática — Java Fullstack com Spring Boot
(Parte 1)
Objetivo
Esta apostila guia você passo a passo na construção de uma API REST simples usando Spring Boot,
aplicando conceitos fundamentais de Java, Programação Orientada a Objetos e arquitetura em camadas.
1. Estrutura do Projeto
Crie um projeto Spring Boot e organize os pacotes seguindo a arquitetura em camadas.
[Link]
■■■ controller
■■■ service
■■■ repository
■■■ model
Cada camada tem uma responsabilidade específica:
• model: representa as entidades do banco de dados.
• repository: comunicação com o banco.
• service: regras de negócio.
• controller: recebe requisições HTTP.
2. Criando a Entity
Uma Entity representa uma tabela no banco de dados. Crie a classe Usuario no pacote model.
@Entity
public class Usuario {
@Id
@GeneratedValue(strategy = [Link])
private Long id;
private String nome;
private String email;
// getters e setters
}
As anotações principais:
• @Entity: define que a classe será mapeada para uma tabela.
• @Id: define a chave primária.
• @GeneratedValue: gera o ID automaticamente.
3. Encapsulamento (POO)
Os atributos devem ser privados. O acesso é feito por getters e setters.
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
[Link] = nome;
}
4. Criando o Repository
O Repository é responsável por acessar o banco de dados.
public interface UsuarioRepository
extends JpaRepository<Usuario, Long> {
}
O Spring Data JPA já fornece métodos prontos como:
• save()
• findAll()
• findById()
• delete()
5. Criando a Camada Service
A camada Service contém a lógica de negócio da aplicação.
@Service
public class UsuarioService {
@Autowired
private UsuarioRepository repository;
public Usuario salvarUsuario(Usuario usuario){
return [Link](usuario);
}
}
6. Criando o Controller
O Controller expõe endpoints REST para os clientes.
@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
@Autowired
private UsuarioService service;
@PostMapping
public Usuario criar(@RequestBody Usuario usuario){
return [Link](usuario);
}
}
7. Entendendo o Fluxo da Aplicação
1 1. O cliente envia uma requisição HTTP.
2 2. O Controller recebe a requisição.
3 3. O Service executa a regra de negócio.
4 4. O Repository salva no banco.
5 5. A resposta retorna ao cliente.
8. Testando a API
Envie uma requisição POST para /usuarios com JSON:
{
"nome": "João",
"email": "joao@[Link]"
}
Se tudo estiver correto, o sistema criará o usuário e retornará o objeto salvo.
Fim da Apostila — Parte 1