Introducción a la Arquitectura Hexagonal con Spring Boot
Taller en vivo de 6 horas: construyes una aplicación Spring Boot con arquitectura hexagonal desde el proyecto vacío, una capa por clase. No se refactoriza nada — y con módulos Maven la regla de dependencia no es convención, la obliga el build.
6 horas — 3 clases de 2 h
Intermedio
Online en vivo
1 días / semana

Horario en tu país
Martes · clases en vivo. Cambia el país en el menú superior para ver tu hora local.
- 🇨🇱Chile22:00–00:00
- 🇦🇷Argentina22:00–00:00
- 🇵🇪Perú20:00–22:00
- 🇨🇴Colombia20:00–22:00
- 🇪🇨Ecuador20:00–22:00
- 🇲🇽México19:00–21:00
- 🌎Otro paísdía siguiente01:00–03:00
Las clases se dictan en horario de Chile; cada fila es esa misma hora en el país indicado, calculada con el cambio de hora vigente a la fecha de inicio. Ante cualquier duda, escríbenos.
Sobre el curso
En tres clases construyes una aplicación Spring Boot con arquitectura hexagonal desde el proyecto vacío, y entiendes de quién es cada responsabilidad porque escribiste cada capa por separado, en el orden en que las capas dependen unas de otras. No se refactoriza nada. La arquitectura no se presenta como el arreglo de un código malo: se construye directamente bien, empezando por el centro. El código plano aparece solo al principio, diez minutos, ya escrito y a modo de contraste. El orden de construcción es la lección: primero reservas-domain, que no depende de ningún módulo ni de Spring; después reservas-application, que solo depende del dominio; y al final los adaptadores, que dependen de todo lo anterior. Con módulos Maven esa regla no es una convención: la obliga el build. Si alguien intenta usar jakarta.persistence o @Service dentro del dominio, no compila, porque esas clases no están en su classpath. El caso es mínimo a propósito: reservas de sala. Se eligió porque tiene dos reglas de negocio de naturaleza distinta —una que la reserva puede responder sola y otra que necesita ir a ver las demás—, y esa diferencia es exactamente la que enseña dónde va cada cosa. Al terminar la clase 2 la aplicación ya funciona y está probada, y todavía no existe ni un endpoint ni una tabla. En la clase 3 se cambia el adaptador in-memory por Spring Data JPA sobre H2 modificando una línea de BeansConfig: el dominio y la aplicación no se tocan y los tests siguen pasando. Esa es la comprobación final de las tres clases. Hay un punto que solo se puede enseñar con base de datos de verdad: la entidad de dominio y la entidad de JPA no son la misma clase. ReservaEntity tiene @Entity, @Id, nombres de columna, constructor sin argumentos y setters —los que Hibernate exige—; Reserva tiene reglas, y por eso mismo no puede tener constructor vacío ni setters. Ponerle @Entity al dominio es exactamente lo que fuerza el dominio anémico. Entre las dos hay un mapper, en infraestructura. Encuadre, para que nadie llegue esperando otra cosa: esto es hexagonal en tres capas, puertos y adaptadores. No es el esquema de los cuatro anillos de Uncle Bob con Input/Output Ports y Presenters — eso es el taller de Clean Architecture, que continúa desde acá. Qué te llevas: el repositorio con la construcción paso a paso (un commit por capa), el ejemplo plano como material de contraste, los tests que corren sin contexto de Spring ni base de datos, una hoja de una página con el checklist «¿de qué capa es esto?», las grabaciones y el diploma de participación. Qué NO incluye, dicho antes de vender: no hay ejercicio de refactorización (es deliberado), no es Clean Architecture completa ni DDD, no se cubren Flyway ni migraciones en producción, índices ni tuning, y no hay Spring Security, WebFlux, despliegue ni revisión del proyecto propio.
Lo que vas a aprender
- Construir las tres capas —dominio, aplicación e infraestructura— desde el proyecto vacío, con un módulo Maven por capa
- Saber repartir una regla de negocio: qué va en la entidad y qué en el caso de uso, y por qué
- Escribir un value object (record) y una entidad que nacen válidos y protegen su invariante
- Declarar un puerto sin filtrar la base de datos en su firma: sin extender JpaRepository ni devolver entidades de JPA, Page o Specification
- Implementar dos adaptadores del mismo puerto: in-memory y Spring Data JPA sobre H2
- Probar el dominio y el caso de uso con JUnit 5, sin @SpringBootTest y sin base de datos
- Comprobar con el build de Maven que las dependencias entre módulos apuntan hacia adentro
- Entender por qué la entidad de dominio y la @Entity de JPA no son la misma clase, y qué hace el mapper
- Reconocer los cuatro errores típicos y distinguir cuándo NO vale la pena aplicar esto
Programa del curso
3 módulos · 6 horas en total
- El antes, en 10 minutos y sin construirlo: un ReservaService con @Autowired, @Transactional y las reglas entre dos consultas, y sus tres problemas
- El mapa completo al principio: las tres capas, qué responde cada una y la regla de dependencia
- Proyecto Maven nuevo creado en vivo, con el pom padre y reservas-domain como primer módulo, sin Spring, sin Lombok y sin JPA
- RangoHorario como value object (record): nace válido o no nace; sabe su duración y si se cruza con otro
- Reserva como entidad con su invariante: constructor privado y método de fábrica que rechaza lo inválido, y por qué eso es incompatible con @Entity
- El puerto ReservaRepository, escrito antes de que exista cualquier base de datos y sin extender JpaRepository
- Tests del dominio con JUnit 5: sin @SpringBootTest, sin HTTP y sin base de datos
¿Para quién es?
- Desarrolladores que ya escriben Java y sienten que sus proyectos se desordenan
- Quienes tienen las reglas repartidas entre controladores y @Service
- Quienes no pueden probar nada sin levantar el contexto de Spring y la base de datos
- Quienes al cambiar una tabla terminan tocando la lógica de negocio
- Quienes oyeron de arquitectura hexagonal, puertos y adaptadores, pero nunca los vieron construir
Requisitos previos
- Java a nivel básico: clases, interfaces, record, Optional y colecciones
- Saber qué es una API REST
- No se requiere conocer Spring a fondo: lo que se usa del framework se explica al pasar
- No se requiere haber usado JPA/Hibernate ni ningún otro ORM antes
- No se requiere haber armado un proyecto Maven multi-módulo: se arma en vivo, paso a paso
- No se requiere saber nada de arquitectura hexagonal, DDD, puertos ni adaptadores: ese es el taller
- Para seguirlo en vivo: JDK 21, Maven y un editor (IntelliJ IDEA, VS Code o Eclipse). El proyecto trae su base de datos configurada
Metodología
Tres clases en vivo de 2 horas por Google Meet, grabadas y disponibles para los inscritos. El instructor construye el proyecto en vivo desde cero y explica cada decisión; puedes seguirlo en tu máquina o solo mirar. Una capa por clase, de adentro hacia afuera, con un módulo Maven por capa. Stack: Java 21, Spring Boot 3, Spring Data JPA sobre H2 en archivo, JUnit 5 y Maven multi-módulo. La base de datos es H2 a propósito: se ve completa —esquema, tablas, mapeo, consultas, la consola web y la app corriendo contra ella— sin que nadie tenga que instalar un motor ni levantar Docker en medio de la clase, y el motor concreto es justamente el detalle que menos importa, porque queda detrás del puerto. Incluye el repositorio con un commit por capa y diploma de participación.
Tu instructor

Ángel Gabriel Sepúlveda Sepúlveda
Co-Founder & Technical Instructor · DAS Soluciones
Ingeniero en Informática (Instituto Profesional Santo Tomás) con una trayectoria consolidada en la transformación digital de los sectores Financiero (Fintech), Retail y Cultural. Diseño y construyo soluciones de alta complejidad con foco en seguridad y escalabilidad. Hoy, en el ecosistema Fintech, trabajo en la optimización de productos financieros con un stack moderno: .NET Core, NestJS y React. Me especializo en Arquitectura Hexagonal y en el desarrollo asistido por Inteligencia Artificial para automatizar procesos críticos de negocio: uso la IA para potenciar el criterio técnico, no para reemplazarlo. Defiendo la excelencia técnica a través de Clean Code, principios SOLID y la mentoría continua, construyendo sistemas robustos, desacoplados y preparados para escalar. Mi objetivo es seguir aportando valor con soluciones que mejoren la eficiencia operativa y la seguridad de la información, y compartir ese conocimiento para que más desarrolladores den el salto de "hacer features" a "diseñar sistemas".
Inversión
Valores para 🇨🇱 Chile. Reserva tu cupo hoy.
Precio normal: $48.000 CLP
$29.000 CLP
Calculado al dólar observado del 2026-09-14. Puede variar con el tipo de cambio.
Promociones, cuotas y medios de pago: consúltalos por WhatsApp.
Reservar mi cupoTe confirmamos cupo y medio de pago por WhatsApp. Sin compromiso.
Recibe toda la información del curso
Déjanos tus datos y te enviamos los detalles. Sin compromiso — resolvemos tus dudas y te ayudamos a reservar tu cupo.
- Temario completo y detallado
- Fechas y horarios por país
- Valores y opciones de financiamiento
¿Prefieres respuesta inmediata?
Pregunta por WhatsAppTambién te puede interesar
Cursos relacionados

Introducción a la Arquitectura Hexagonal con NestJS
Taller en vivo de 6 horas: construyes una aplicación NestJS con arquitectura hexagonal desde el proyecto vacío, una capa por clase. No se refactoriza nada — se empieza por el dominio y se termina en la base de datos.

Introducción a la Arquitectura Hexagonal con .NET
Taller en vivo de 6 horas: construyes una solución .NET con arquitectura hexagonal desde cero, una capa por clase. No se refactoriza nada — y en .NET la regla de dependencia no es convención, la obliga el compilador.

NestJS + Arquitectura Hexagonal & Domain-Driven Design (DDD)
De NestJS desde cero a backends mantenibles y escalables: Arquitectura Hexagonal, DDD y cómo usar la IA para programar con esta arquitectura. 40 h en vivo, proyecto real y diploma verificable.
