⚙️ Fase 09: Backend Corporativo com Java e Spring Boot

Bem-vindo à Fase 09 da Trilha de Formação em Computação. Nesta etapa, você dominará o desenvolvimento backend corporativo utilizando o framework Spring Boot, aplicando arquitetura em camadas, persistência de dados com ORM/JPA, validações de entrada e autenticação segura com tokens JWT.


🎯 Objetivos de Aprendizado

  • Arquitetura Spring: Entendimento da Inversão de Controle (IoC) e Container de Injeção de Dependência (Dependency Injection) via anotações (@Component, @Service, @Repository, @Autowired).
  • APIs RESTful com Spring Web: Construção de REST Controllers (@RestController, @RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping).
  • Contratos & DTOs: Transferência segura de dados via DTOs (Data Transfer Objects) e validação de entrada com Bean Validation (@Valid, @NotNull, @NotBlank).
  • Persistência com Spring Data JPA: Mapeamento Objeto-Relacional (@Entity, @Table, @Id, @GeneratedValue), relacionamentos (@ManyToOne, @OneToMany, @ManyToMany) e consultas derivadas.
  • Tratamento de Exceções: Centralização do tratamento de erros da API com @ControllerAdvice e @ExceptionHandler.
  • Segurança com Spring Security & JWT: Proteção de rotas, controle de acesso baseado em papéis (Roles) e autenticação stateless com tokens JWT.

🚀 Sumário da Fase 09

Acesse a ementa dos capítulos de Backend com Spring Boot abaixo.


📊 Arquitetura Conceitual da Fase 09

flowchart TD
    A[⚙️ Spring Boot IoC & Injeção de Dependência] --> B[🌐 REST Controllers, DTOs & Bean Validation]
    B --> C[🗄️ Mapeamento ORM & Spring Data JPA]
    C --> D[⚠️ Tratamento Global de Exceções ControllerAdvice]
    D --> E[🔒 Autenticação Stateless & Spring Security JWT]

📚 Ementa do Curso (Spring Boot API REST)

🍃 Módulo 1: Fundamentos da Arquitetura Spring Boot

  • Capítulo 01: Introdução ao Spring Boot 3+ e Estrutura do projeto Maven (pom.xml)
  • Capítulo 02: O Container de Inversão de Controle (IoC) e Injeção de Dependência
  • Capítulo 03: Mapeamento de Rotas HTTP (@RestController, @RequestMapping)
  • Capítulo 04: Recebimento de Dados (@PathVariable, @RequestParam, @RequestBody)
  • Capítulo 05: Padrão DTO (Data Transfer Object) e Separação de Camadas

📦 Módulo 2: Persistência de Dados com Spring Data JPA

  • Capítulo 06: Mapeamento de Entidades JPA (@Entity, @Table, @Id)
  • Capítulo 07: Interface JpaRepository e Métodos de Consulta Automáticos
  • Capítulo 08: Relacionamentos Mapeados: Um-para-Muitos (@OneToMany) e Muitos-para-Um (@ManyToOne)
  • Capítulo 09: Relacionamentos Mapeados: Muitos-para-Muitos (@ManyToMany) e Tabelas de Junção
  • Capítulo 10: Consultas Personalizadas em JPQL (@Query) e SQL Nativo

⚠️ Módulo 3: Validações, Exceções e Respostas HTTP

  • Capítulo 11: Validação de Entrada de Dados com Bean Validation (@Valid, @NotBlank, @Size)
  • Capítulo 12: Padronização de Respostas HTTP com ResponseEntity<T> e Status Codes
  • Capítulo 13: Centralização e Tratamento Global de Exceções (@ControllerAdvice)
  • Capítulo 14: Paginação e Ordenação de Dados com Pageable e Page<T>
  • Capítulo 15: Testes de Integração de API com @SpringBootTest e MockMvc

🛡️ Módulo 4: Segurança, JWT e Produção

  • Capítulo 16: Arquitetura do Spring Security e Filtros de Requisição
  • Capítulo 17: Criptografia de Senhas com BCryptPasswordEncoder
  • Capítulo 18: Autenticação Stateless e Geração de Tokens JWT
  • Capítulo 19: Interceptação de Tokens e Autorização por Roles (ROLE_ADMIN, ROLE_ALUNO)
  • Capítulo 20: Projeto de Fase — API RESTful de Gestão Escolar com Spring Boot, JPA e Security JWT

2 items neste arquivo.