Formación Spring Boot
Desarrollo de Aplicaciones Java Modernas
Código del curso: 420-XXX-XX
Sesión: Invierno 2025
Docente: Por definir
Institución: inskillflow academy
Visión General del Curso
Esta formación completa le permitirá dominar Spring Boot, el framework Java más popular para el desarrollo de aplicaciones modernas. Desde la introducción hasta conceptos avanzados, aprenderá a crear aplicaciones profesionales robustas y escalables.
Objetivos de Aprendizaje
Al finalizar este curso, usted será capaz de:
- Comprender los fundamentos de Spring Boot y su ecosistema
- Desarrollar aplicaciones web con Spring MVC y REST APIs
- Gestionar la persistencia de datos con Spring Data JPA
- Proteger sus aplicaciones con Spring Security
- Desplegar y monitorear aplicaciones en producción
- Crear microservicios con Spring Cloud
- Aplicar buenas prácticas de desarrollo Java moderno
Enfoque Pedagógico
70% Práctica - 30% Teoría
Cada módulo combina:
- Clases magistrales sobre conceptos fundamentales
- Laboratorios prácticos guiados
- Proyectos reales de desarrollo
- Ejercicios y cuestionarios
Capítulo 1 — Lista de cuestionarios
Ponga a prueba sus conocimientos después de cada módulo:
| Módulo | Quiz | Tema |
|---|---|---|
| 2 | Quiz Módulo 2 | Primeros pasos, Spring Initializr, anotaciones básicas |
| 3 | Quiz Módulo 3 | Arquitectura en capas, CRUD, validación |
| 4 | Quiz Módulo 4 | PostgreSQL, Jakarta Persistence, Hibernate, Lombok |
| 5 | Quiz Capítulo 1 | IoC e inyección de dependencias |
| 5 | Quiz Capítulo 2 | Tipos de inyección, @Qualifier |
| 5 | Quiz Capítulo 3 | Beans y contexto Spring |
| 5 | Quiz Capítulo 4 | Ámbitos y configuración |
| 6 | Quiz Módulo 6 | JPA avanzado, convenciones, relaciones, @Query |
| 7 | Quiz Módulo 7 | Datasources, transacciones, Flyway |
| 8 | Quiz Módulo 8 | Spring Security, JWT, OAuth2 |
| 9 | Quiz Módulo 9 | Tests unitarios, integración, MockMvc |
| 10 | Quiz Módulo 10 | Excepciones, logging, Logback |
| 11 | Quiz Módulo 11 | Actuator, Prometheus, Grafana |
| 12 | Quiz Módulo 12 | Docker, CI/CD, despliegue |
| 13 | Quiz Módulo 13 | Microservicios, Eureka, Gateway |
| 14 | Quiz Módulo 14 | Cache Redis, RabbitMQ, WebSocket |
Capítulo 2 — Lista de Trabajos Prácticos
Todos los TPs del curso, organizados por módulo:
Módulo 1 — Introducción
| TP | Tema | Duración |
|---|---|---|
| TP1.1 | Instalación de Java JDK 17 (Windows, macOS, Linux) | 20-30 min |
| TP1.2 | Instalación de Maven 3.9.x (Windows, macOS, Linux) | 30-45 min |
Módulo 2 — Primeros Pasos
| TP | Tema | Duración |
|---|---|---|
| TP2.1 | Aplicación "Greeting" con Spring Boot | 1-2h |
| TP2.2 | Base de datos H2 (memoria y persistencia) | 1-2h |
Módulo 3 — Arquitectura en Capas y CRUD
| TP | Tema | Duración |
|---|---|---|
| TP3.1 | Arquitectura CRUD completa (guiado con código) | 4-6h |
| TP3.2 | CRUD autónomo — mismo enunciado, sin código (desafío) | 2-3h |
Módulo 4 — Bases de Datos en Producción
| TP | Tema | Duración |
|---|---|---|
| TP4.1 | Migración PostgreSQL con Jakarta Persistence | 2-3h |
Módulo 5 — Spring Core (IoC / DI)
| TP | Tema | Duración |
|---|---|---|
| TP5.1 | Inyección de dependencias avanzada | 1-2h |
| TP5.2 | Gestión de beans y ámbitos | 1-2h |
| TP5.3 | Configuración y perfiles | 1-2h |
Módulo 6 — JPA Avanzado
| TP | Tema | Duración |
|---|---|---|
| TP6.1 | Convenciones de nombrado avanzadas | 2h |
| TP6.2 | Relaciones Employee-Department | 2-3h |
| TP6.3 | Ejercicio Airport-Flight-Passenger | 3-4h |
Módulo 7 — Transacciones y Migraciones
| TP | Tema | Duración |
|---|---|---|
| TP7.1 | Configuración Datasource | 1-2h |
| TP7.2 | Transacciones y Rollback | 2h |
| TP7.3 | Migración con Flyway | 1-2h |
Módulo 8 — Spring Security
| TP | Tema | Duración |
|---|---|---|
| TP8.1 | Autenticación por formulario | 1-2h |
| TP8.2 | Autenticación JWT | 2-3h |
| TP8.3 | Roles y permisos | 2h |
| TP8.4 | OAuth2 con Google | 2h |
Módulo 9 — Tests
| TP | Tema | Duración |
|---|---|---|
| TP9.1 | Tests unitarios del Service Layer | 2h |
| TP9.2 | Tests de integración de Repositories | 2h |
| TP9.3 | Tests REST API con MockMvc | 2h |
Módulo 10 — Excepciones y Logging
| TP | Tema | Duración |
|---|---|---|
| TP10.1 | Gestión centralizada de errores | 2h |
| TP10.2 | Sistema de logging profesional | 1-2h |
Módulo 11 — Monitoring
| TP | Tema | Duración |
|---|---|---|
| TP11.1 | Configuración Actuator | 1-2h |
| TP11.2 | Monitoring Prometheus y Grafana | 2-3h |
Módulo 12 — Despliegue
| TP | Tema | Duración |
|---|---|---|
| TP12.1 | Dockerización completa | 2-3h |
| TP12.2 | Pipeline CI/CD y despliegue | 2-3h |
Módulo 13 — Microservicios
| TP | Tema | Duración |
|---|---|---|
| TP13.1 | Eureka Server y clientes | 2h |
| TP13.2 | Config Server | 1-2h |
| TP13.3 | API Gateway | 2h |
| TP13.4 | Feign y Resilience4j | 2-3h |
Módulo 14 — Técnicas Avanzadas
| TP | Tema | Duración |
|---|---|---|
| TP14.1 | Cache con Redis | 2h |
| TP14.2 | Mensajería con RabbitMQ | 2h |
| TP14.3 | WebSocket tiempo real | 2h |
| TP14.4 | Tareas programadas | 1-2h |
Plan de Curso - 19 Módulos
MÓDULO 1 - Introducción a Spring Boot
Duración: 1 sesión
Contenido:
- Historia y evolución de Spring Boot
- Modelo MVC (Model-View-Controller)
- Apache Tomcat y servidores integrados
- Jackson y gestión JSON
- Auto-configuración y convenciones
Objetivos:
- Comprender el ecosistema Spring
- Identificar las ventajas de Spring Boot
- Descubrir los conceptos fundamentales
MÓDULO 2 - Primeros Pasos con Spring Boot [COMPLETADO]
Duración: 2-3 sesiones
Contenido:
- Spring Initializr
- Estructura de un proyecto Spring Boot
- Archivos de configuración (application.properties/yml)
- Anotaciones básicas (@RestController, @Service, @Repository)
- Introducción a los Repositories JPA (4 métodos básicos: save, findById, findAll, deleteById)
- Convenciones de nombrado simples (findBy, And, Or)
Trabajos Prácticos:
- TP1: Aplicación Greeting con Visual Studio Code
- TP2: Base de Datos H2 (Memoria y Persistencia)
Nota pedagógica: Módulo simplificado para enfocarse en los fundamentos. Los TPs avanzados se han trasladado a los Módulos 3 y 4 con la teoría correspondiente.
MÓDULO 3 - Arquitectura en Capas y CRUD Completo [COMPLETADO]
Duración: 2-3 sesiones
Contenido Teórico:
- La capa Service en detalle (rol, responsabilidades, separación de preocupaciones)
- Validación de datos con Bean Validation (JSR 380)
- Anotaciones: @NotNull, @NotEmpty, @Size, @Min, @Max, @Email, @Pattern, @Valid
- Gestión profesional de errores HTTP
- ResponseEntity y códigos de estado HTTP (200, 201, 204, 400, 404, 500)
- @ExceptionHandler y @ControllerAdvice
- Arquitectura 3 capas profesional
Trabajos Prácticos:
- TP1: Arquitectura CRUD Completa (API Product con validación y gestión de errores)
Prerrequisitos: Módulo 2 completado
Nota: Este módulo contiene el antiguo TP3 del Módulo 2, ahora con TODA la teoría necesaria.
MÓDULO 4 - Bases de Datos en Producción [COMPLETADO]
Duración: 2-3 sesiones
Contenido Teórico:
- PostgreSQL: Instalación, configuración, herramientas de administración
- Jakarta vs Javax Persistence (historia, migración, compatibilidad)
- Hibernate y estrategias DDL (none, validate, update, create, create-drop)
- Dialectos Hibernate y configuración
- Lombok: @Data, @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor, @Builder
- Migración entre bases de datos
Trabajos Prácticos:
- TP1: Migración PostgreSQL y Producción (con Lombok, Jakarta, multi-BDD)
Prerrequisitos: Módulo 2 y 3 completados
Nota: Este módulo contiene el antiguo TP4 del Módulo 2, ahora con TODA la teoría necesaria.
MÓDULO 5 - Spring Core - IoC y DI Avanzado [Próximamente]
Duración: 2 sesiones
Contenido:
- Inversión de Control (IoC) en profundidad
- Inyección de Dependencias (DI) avanzada
- Beans y contexto Spring
- Ciclo de vida de los beans
- Ámbitos (@Singleton, @Prototype, @Request, @Session)
- Configuración Java vs XML
Labs:
- Lab 5.1: Inyección de dependencias avanzada
- Lab 5.2: Gestión de beans y ámbitos
- Lab 5.3: Configuración personalizada
MÓDULO 6 - Spring Data JPA Avanzado [COMPLETADO]
Duración: 3 sesiones
Contenido:
- Convenciones de nombrado completas (15+ palabras clave: Between, LessThan, GreaterThan, Like, In, IsNull, etc.)
- Joins y relaciones complejas (@OneToMany, @ManyToOne, @ManyToMany)
- JPQL y consultas personalizadas con @Query
- Consultas nativas SQL
- Paginación y orden avanzado
- Optimización de rendimiento (lazy loading, fetch strategies)
Labs:
- Lab 6.1: Convenciones de nombrado avanzadas
- Lab 6.2: Joins Employee-Department
- Lab 6.3: Ejercicio Airport-Flight-Passenger (20 preguntas)
- Lab 6.4: Evaluación completa con solucionario
Nota: Este módulo contiene el contenido JPA avanzado que estaba inicialmente en el Módulo 2 (Capítulo 5 original).
MÓDULO 7 - Bases de Datos y Transacciones [Próximamente]
Duración: 2 sesiones
Contenido:
- Configuración de datasources
- Gestión de transacciones (@Transactional)
- Migración de esquema (Flyway, Liquibase)
- Conexión a diferentes BDD (MySQL, PostgreSQL, H2)
Labs:
- Lab 7.1: Configuración multi-datasources
- Lab 7.2: Transacciones y rollback
- Lab 7.3: Migración con Flyway
MÓDULO 8 - Spring Security
Duración: 2 sesiones
Contenido:
- Autenticación y autorización
- Configuración de seguridad
- JWT (JSON Web Tokens)
- OAuth2 y SSO
- Protección CSRF
Labs:
- Lab 8.1: Autenticación básica
- Lab 8.2: JWT Authentication
- Lab 8.3: Roles y permisos
MÓDULO 9 - Tests con Spring Boot
Duración: 2 sesiones
Contenido:
- Tests unitarios con JUnit 5
- Tests de integración
- MockMvc y WebTestClient
- Mocking con Mockito
- Cobertura de código
Labs:
- Lab 9.1: Tests unitarios
- Lab 9.2: Tests de integración
- Lab 9.3: Tests REST API
MÓDULO 10 - Gestión de Excepciones y Logging
Duración: 1 sesión
Contenido:
- @ControllerAdvice y gestión global
- Respuestas de error personalizadas
- Logging con SLF4J y Logback
- Niveles de logs y configuración
Labs:
- Lab 10.1: Gestor de excepciones global
- Lab 10.2: Configuración de logging
- Lab 10.3: Logs estructurados
MÓDULO 11 - Spring Boot Actuator y Monitoring
Duración: 1 sesión
Contenido:
- Endpoints Actuator
- Métricas y health checks
- Monitoring con Prometheus y Grafana
- Tracing distribuido
Labs:
- Lab 11.1: Configuración Actuator
- Lab 11.2: Métricas personalizadas
- Lab 11.3: Dashboard de monitoring
MÓDULO 12 - Despliegue y Producción
Duración: 2 sesiones
Contenido:
- Packaging (JAR vs WAR)
- Perfiles de entorno
- Despliegue en servidores
- Contenerización con Docker
- CI/CD con GitHub Actions
Labs:
- Lab 12.1: Build y packaging
- Lab 12.2: Dockerfile y Docker Compose
- Lab 12.3: Pipeline CI/CD
MÓDULO 13 - Spring Cloud y Microservicios
Duración: 2 sesiones
Contenido:
- Arquitectura de microservicios
- Service discovery (Eureka)
- Configuración centralizada (Config Server)
- API Gateway
- Comunicación entre servicios
Labs:
- Lab 13.1: Eureka Server y clientes
- Lab 13.2: Config Server
- Lab 13.3: API Gateway con Spring Cloud Gateway
MÓDULO 14 - Técnicas Avanzadas
Duración: 2 sesiones
Contenido:
- Programación reactiva (WebFlux)
- Cache con Spring Cache (Redis)
- Mensajería asíncrona (RabbitMQ, Kafka)
- Tareas programadas
- WebSockets
Labs:
- Lab 14.1: Cache Redis
- Lab 14.2: Mensajería con RabbitMQ
- Lab 14.3: WebSocket real-time
MÓDULO 15 - Proyecto Final
Duración: 3 sesiones
Contenido:
- Proyecto completo de principio a fin
- Aplicación e-commerce o sistema de gestión
- Integración de todos los conceptos
- Presentación y code review
Entregables:
- Aplicación completa funcional
- Documentación técnica
- Tests completos
- Despliegue Docker
MÓDULO 16 - Proyecto E-Contact Backend
Duración: 3 sesiones
Contenido:
- Proyecto completo guiado — API REST de formulario de contacto
- Autenticación y seguridad JWT
- Base de datos PostgreSQL
- Integración Frontend
- Despliegue con GitHub Codespaces
Capítulos:
- Capítulo 1: Inicio con Codespaces
- Capítulo 2: Troubleshooting
- Capítulo 3: Integración Frontend
- Capítulo 4: Curso Complementario
- Capítulo 5: Seguridad Avanzada
MÓDULO 17 - Anotaciones Spring Boot (Referencia)
Contenido:
- Referencia exhaustiva de todas las anotaciones Spring Boot
- Anotaciones Core (IoC, DI, Configuración)
- Anotaciones Web y REST
- Anotaciones Data/JPA
- Anotaciones Security, Test y Avanzadas
- Diccionario A-Z (120+ anotaciones)
Capítulos:
- Capítulo 1: Anotaciones Core
- Capítulo 2: Anotaciones Web/REST
- Capítulo 3: Anotaciones Data/JPA
- Capítulo 4: Security, Test y Avanzadas
- Capítulo 5: Diccionario A-Z
MÓDULO 18 - Preguntas de Entrevista
Contenido:
- Preparación completa para entrevistas técnicas Java/Spring Boot
- Preguntas clasificadas por tema y nivel de dificultad
- Ejercicios de código, algoritmos, refactoring
- Trampas comunes y conceptos fundamentales
Capítulos:
- Capítulo 1: JPA & Base de datos (N+1, Lazy/Eager, @Transactional)
- Capítulo 2: Ejercicios de Refactoring (Guard clauses, Strategy, SRP)
- Capítulo 3: Algoritmos & Estructuras (HashMap, Stack, Binary Search)
- Capítulo 4: Diseño REST & Design Patterns (Builder, Singleton, Observer)
- Capítulo 5: Depuración & Revisión de código
- Capítulo 6: Trampas Java Fundamentales (== vs .equals(), hashCode, final, static)
- Capítulo 7: Colecciones Java (List, Map, Set, Stream API)
- Capítulo 8: ¿Qué es...? (DTO, MVC, CRUD, IoC, ORM, Docker, CI/CD, JWT)
MÓDULO 19 - Repositorios GitHub (Referencias)
Contenido:
- Enlaces a todos los repositorios de la formación
- Repositorio del sitio de documentación (Docusaurus)
- Repositorio del proyecto e-contact-backend
- Anexos Security
- Recursos complementarios
Herramientas y Tecnologías
Entorno de Desarrollo
- IDE: IntelliJ IDEA / Eclipse / VS Code
- JDK: Java 17 o 21 (LTS)
- Build Tool: Maven o Gradle
- Git: Control de versiones
Tecnologías Spring
- Spring Boot 3.x
- Spring MVC
- Spring Data JPA
- Spring Security
- Spring Cloud
- Spring Boot Actuator
Bases de Datos
- H2 (desarrollo)
- MySQL / PostgreSQL (producción)
- Redis (cache)
Herramientas Complementarias
- Docker y Docker Compose
- Postman / Insomnia
- Swagger / OpenAPI
- Lombok
Competencias Desarrolladas
Competencias Técnicas
Desarrollo Backend:
- Diseño y desarrollo de APIs REST
- Gestión de la persistencia con JPA/Hibernate
- Seguridad de aplicaciones web
- Tests automatizados
- Despliegue y DevOps
Arquitectura:
- Patrones de diseño (MVC, Repository, Service Layer)
- Arquitectura de microservicios
- Separación de responsabilidades
- Diseño de APIs RESTful
Buenas Prácticas:
- Clean Code
- Principios SOLID
- Convención sobre Configuración
- Test-Driven Development (TDD)
Competencias Profesionales
- Metodología Ágil
- Documentación técnica
- Trabajo en equipo
- Resolución de problemas
- Actualización tecnológica
Evaluaciones
Trabajos Prácticos (50%)
- TP1: Aplicación web CRUD simple (10%)
- TP2: API REST con JPA y seguridad (15%)
- TP3: Aplicación completa con tests (25%)
Laboratorios (20%)
- Labs semanales (15%)
- Participación y compromiso (5%)
Proyecto Final (30%)
- Aplicación completa (20%)
- Presentación y documentación (10%)
Total: 100%
Prerrequisitos
Conocimientos Previos
- Programación orientada a objetos (POO)
- Bases de Java
- Conceptos web (HTTP, HTML, CSS)
- Bases de datos relacionales (SQL)
Material Requerido
- Computadora con mínimo 8 GB RAM (16 GB recomendado)
- 50 GB de espacio libre en disco
- Conexión a Internet estable
Software a Instalar
- JDK 17 o 21
- IntelliJ IDEA Community (u otro IDE)
- MySQL o PostgreSQL
- Docker Desktop
- Postman
Recursos del Curso
Documentación Oficial
Libros Recomendados
- "Spring Boot in Action" - Craig Walls
- "Pro Spring Boot 2" - Felipe Gutierrez
- "Spring Microservices in Action" - John Carnell
Comunidad
Progresión del Curso
[COMPLETADO] MÓDULO 1 - Introducción a Spring Boot
[COMPLETADO] MÓDULO 2 - Primeros Pasos con Spring Boot
[COMPLETADO] MÓDULO 3 - Arquitectura en Capas y CRUD
[COMPLETADO] MÓDULO 4 - Bases de Datos en Producción
[COMPLETADO] MÓDULO 5 - Spring Core - IoC y DI Avanzado
[COMPLETADO] MÓDULO 6 - Spring Data JPA Avanzado
[COMPLETADO] MÓDULO 7 - Bases de Datos y Transacciones
[COMPLETADO] MÓDULO 8 - Spring Security
[COMPLETADO] MÓDULO 9 - Tests con Spring Boot
[COMPLETADO] MÓDULO 10 - Gestión de Excepciones y Logging
[COMPLETADO] MÓDULO 11 - Spring Boot Actuator y Monitoring
[COMPLETADO] MÓDULO 12 - Despliegue y Producción
[COMPLETADO] MÓDULO 13 - Spring Cloud y Microservicios
[COMPLETADO] MÓDULO 14 - Técnicas Avanzadas
[COMPLETADO] MÓDULO 15 - Proyecto Final
[COMPLETADO] MÓDULO 16 - Proyecto E-Contact Backend
[COMPLETADO] MÓDULO 17 - Anotaciones Spring Boot (Referencia)
[COMPLETADO] MÓDULO 18 - Preguntas de Entrevista
[COMPLETADO] MÓDULO 19 - Repositorios GitHub (Referencias)
¡Comience Ahora!
Explore los módulos en el menú lateral y comience su aprendizaje de Spring Boot.
¡Buen curso y buen desarrollo!
Última actualización: Marzo 2025