⚙️ 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
@ControllerAdvicee@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
JpaRepositorye 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
PageableePage<T> - Capítulo 15: Testes de Integração de API com
@SpringBootTesteMockMvc
🛡️ 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