Curso Completo de Java con Spring Boot para Aplicaciones Bancarias
FASE 1: Fundamentos de Java
Objetivo: Dominar la programación orientada a objetos y estructuras básicas.
Temas:
- Sintaxis de Java, tipos de datos, control de flujo
- Programación orientada a objetos (Clases, Objetos, Herencia, Polimorfismo, Encapsulamiento)
- Colecciones (List, Set, Map)
- Streams y Lambdas
Tareas prácticas:
- Crear un sistema de cuentas bancarias (Cliente, Cuenta, Transacción)
- Filtrar transacciones con lambdas
- Calcular el balance de una cuenta con Streams
FASE 2: Spring Boot desde cero
Objetivo: Entender el ecosistema de Spring y crear aplicaciones REST.
Temas:
- Spring Boot (estructura, @RestController, @Service, @Repository)
- Spring Initializr, Maven/Gradle
- Inyección de dependencias (@Autowired)
- Spring Data JPA + H2/MySQL
- Validaciones con @Valid, manejo de errores
Tareas prácticas:
- Crear API REST de productos bancarios
- Implementar CRUD con DTOs y validaciones
Curso Completo de Java con Spring Boot para Aplicaciones Bancarias
FASE 3: Programación Funcional con Java y Spring
Objetivo: Aplicar principios funcionales dentro del stack Spring.
Temas:
- Streams avanzados, Optional, Function, Predicate
- map, filter, flatMap, reduce
- Lógica de negocio con programación funcional
Tareas prácticas:
- Agrupar transacciones por categoría
- Analizar gastos con programación funcional
- Validar solicitudes de préstamo con Optional
FASE 4: Spring Security en profundidad
Objetivo: Proteger tu API de forma profesional.
Temas:
- Configuración básica y avanzada
- Autenticación (formularios, sesiones)
- Roles y permisos con @PreAuthorize, @Secured
- Cifrado con BCrypt
Tareas prácticas:
- Crear login y roles
- Proteger endpoints por rol
- Implementar autenticación completa
FASE 5: Testing y buenas prácticas
Curso Completo de Java con Spring Boot para Aplicaciones Bancarias
Objetivo: Escribir código limpio y mantenible.
Temas:
- Pruebas unitarias (JUnit, Mockito)
- Pruebas de integración (SpringBootTest)
- Principios SOLID, Clean Code
- Arquitectura hexagonal (opcional)
Tareas prácticas:
- Testear servicios
- Mockear repositorios
- Refactorizar usando buenas prácticas
FASE 6: Proyecto Final - Plataforma de banca digital
Objetivo: Integrar lo aprendido en un sistema realista.
Funcionalidades:
- Registro y login
- Gestión de cuentas y transferencias
- Seguridad por roles
- Reportes con programación funcional
- Pruebas completas del sistema