Elige tu idioma
Curso de Java con Spring Boot
Más de 2 millones de estudiantes en todo el mundo

Curso de Java con Spring Boot

Domine Java y Spring Boot desde cero y construya aplicaciones listas para producción que los empleadores en realidad buscan. Este curso lo lleva desde los fundamentos básicos de Java hasta APIs REST, persistencia en bases de datos, seguridad, pruebas y despliegue con Docker. Cada concepto se fundamenta en prácticas de ingeniería del mundo real utilizadas en equipos de desarrollo profesional.

Dedika para empresas

Lo que vas a aprender:

Usted comenzará con los fundamentos de Java, incluyendo OOP, colecciones y características modernas de Java, para luego avanzar hacia la configuración de proyectos Spring Boot, la inyección de dependencias y la arquitectura de aplicaciones. A partir de ahí, diseñará y construirá APIs RESTful con validación adecuada, manejo de errores y documentación OpenAPI. Persistirá datos usando Spring Data JPA, asegurará sus API con Spring Security y JWT, y escribirá pruebas unitarias y de integración con JUnit 5 y Mockito. Finalmente, contenerizará su aplicación con Docker y configurará la observabilidad usando Spring Boot Actuator, Prometheus y Grafana.

Cómo estudias de forma práctica Curso de Java con Spring Boot

Cómo practicas Curso de Java con Spring Boot

Para ti que eres empresa y quieres capacitar a tu equipo

En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.

Haz clic aquí

Contenido del curso

8 Capítulos • 39 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Fundamentos de Java para Spring Boot

  • Lección 1 • Manejo de Excepciones y Depuración

    Cubre excepciones verificadas y no verificadas, try-catch-finally y excepciones personalizadas. Un manejo robusto de errores es crítico para construir API de Spring Boot confiables.

  • Lección 2 • Características Modernas de Java

    Presenta lambdas, streams, Optional y records desde Java 8 hasta Java 17. Spring Boot aprovecha estas características ampliamente en su configuración automática y capas de datos.

  • Lección 3 • Colecciones y Genéricos

    Explora List, Set, Map y Queue con parámetros de tipo genérico. El uso adecuado de colecciones es esencial para manejar datos en servicios y repositorios Spring.

  • Lección 4 • Sintaxis de Java y Tipos de Datos

    Cubre tipos primitivos, variables, operadores y flujo de control. Establece la base de sintaxis requerida para todo el código Java y Spring posterior.

  • Lección 5 • Principios de Programación Orientada a Objetos

    Enseña encapsulamiento, herencia, polimorfismo y abstracción usando clases Java. Estos pilares de POO sustentan cada componente Spring y diseño de beans.

Capítulo 2Ver detalles

Configuración y Estructura de un Proyecto Spring Boot

  • Lección 1 • Configuración Automática de Spring Boot

    Explica cómo Spring Boot configura beans automáticamente según las dependencias del classpath. Entender este mecanismo previene configuraciones incorrectas y facilita la resolución de problemas.

  • Lección 2 • Estructura de la Aplicación y Convenciones

    Explica el diseño estándar de paquetes, la clase principal y las convenciones de Spring Boot. Seguir estas convenciones habilita la configuración automática y el escaneo de componentes.

  • Lección 3 • Spring Initializr y Herramientas de Construcción

    Genera un proyecto con Spring Initializr y configura archivos de construcción Maven o Gradle. Este es el punto de entrada para cada aplicación Spring Boot creada en el curso.

  • Lección 4 • Archivos de Configuración y Perfiles

    Administra la configuración de la aplicación a través de application.properties y application.yml con perfiles de entorno. Los perfiles permiten una transición fluida entre configuraciones de desarrollo, prueba y producción.

Capítulo 3Ver detalles

Inyección de Dependencias y Spring Core

  • Lección 1 • Anotaciones de Estereotipo y Escaneo de Componentes

    Usa @Component, @Service, @Repository y @Controller para registrar beans automáticamente. El uso adecuado de anotaciones refuerza los límites arquitectónicos en aplicaciones en capas.

  • Lección 2 • Configuración Basada en Java

    Define beans programáticamente con @Configuration y métodos @Bean. La configuración Java proporciona alternativas seguras en tipos y refactorizables a XML o escaneo de anotaciones.

  • Lección 3 • Ámbitos y Ciclo de Vida de los Beans

    Cubre los ámbitos singleton, prototype, request y session, además de los callbacks del ciclo de vida. La selección correcta del ámbito previene fugas de memoria y errores de concurrencia.

  • Lección 4 • Inversión de Control y el Contenedor IoC

    Define IoC y explica cómo el ApplicationContext gestiona los beans. Este modelo mental es la base para entender cada componente Spring.

  • Lección 5 • Patrones de Inyección de Dependencias

    Compara la inyección por constructor, setter y campo con guías de mejores prácticas. Elegir el estilo de inyección correcto mejora la testeabilidad y la claridad del código.

Capítulo 4Ver detalles

Construcción de API RESTful con Spring MVC

  • Lección 1 • Documentación de API con OpenAPI

    Genera documentación interactiva de API usando SpringDoc y la especificación OpenAPI. La documentación acelera la incorporación de nuevos miembros y sirve como contrato para los consumidores.

  • Lección 2 • Manejo de Solicitudes con Spring MVC

    Asigna solicitudes HTTP a métodos de controlador usando @RequestMapping y sus atajos. Esta sección establece el ciclo de solicitud-respuesta central para todas las API REST.

  • Lección 3 • Mejores Prácticas de Diseño de API REST

    Aplica nomenclatura de recursos RESTful, semántica de métodos HTTP y convenciones de códigos de estado. Las API bien diseñadas reducen los errores del cliente y simplifican el versionamiento.

  • Lección 4 • Validación de Entrada y Respuestas de Error

    Valida los cuerpos de solicitud con anotaciones de Bean Validation y maneja errores globalmente. Las respuestas de error consistentes mejoran la usabilidad de la API y la integración con clientes.

  • Lección 5 • Cuerpos de Solicitud y Respuesta

    Serializa y deserializa JSON usando @RequestBody, @ResponseBody y Jackson. El manejo correcto de cuerpos asegura la interoperabilidad con cualquier cliente REST.

Capítulo 5Ver detalles

Persistencia de Datos con Spring Data JPA

  • Lección 1 • Migraciones de Base de Datos con Flyway

    Gestiona la evolución del esquema usando scripts de migración versionados de Flyway. Las migraciones automatizadas aseguran un estado de base de datos consistente en todos los entornos.

  • Lección 2 • Repositorios de Spring Data

    Usa JpaRepository y CrudRepository para generar métodos de acceso a datos automáticamente. La abstracción de repositorio elimina el código repetitivo de DAO.

  • Lección 3 • Relaciones entre Entidades

    Modela asociaciones uno a uno, uno a muchos y muchos a muchos con opciones de cascada y recuperación. El mapeo adecuado de relaciones previene problemas de integridad de datos y consultas N+1.

  • Lección 4 • Gestión de Transacciones

    Controla la consistencia de los datos con @Transactional, propagación y niveles de aislamiento. Los límites de transacción correctos previenen lecturas sucias y actualizaciones parciales.

  • Lección 5 • Entidades JPA y Mapeo

    Mapea clases Java a tablas de base de datos usando anotaciones JPA. El diseño correcto de entidades es la base de una capa de datos confiable y de alto rendimiento.

Capítulo 6Ver detalles

Seguridad con Spring Security

  • Lección 1 • Autorización y Control de Acceso Basado en Roles

    Restringe el acceso a endpoints usando @PreAuthorize, @Secured y reglas de seguridad HTTP. La autorización detallada refuerza el principio de menor privilegio.

  • Lección 2 • Autenticación Sin Estado Basada en JWT

    Implementa la emisión, validación y refresco de tokens usando JSON Web Tokens. JWT habilita autenticación escalable y sin estado para API REST.

  • Lección 3 • Configuración de Autenticación de Usuarios

    Configura almacenes de usuarios en memoria y respaldados por base de datos con codificación de contraseñas. El almacenamiento seguro de credenciales es un requisito mínimo para cualquier aplicación en producción.

  • Lección 4 • CORS, CSRF y Encabezados de Seguridad

    Configura el intercambio de recursos de origen cruzado, la protección CSRF y los encabezados de seguridad HTTP. Estas configuraciones defienden contra vulnerabilidades web comunes en clientes basados en navegador.

  • Lección 5 • Fundamentos de Spring Security

    Explica la cadena de filtros de seguridad, el administrador de autenticación y el contexto de seguridad. Esta arquitectura sustenta cada característica de seguridad añadida en secciones posteriores.

Capítulo 7Ver detalles

Pruebas de Aplicaciones Spring Boot

  • Lección 1 • Pruebas de Slice de Controladores con MockMvc

    Prueba controladores REST de forma aislada usando @WebMvcTest y MockMvc. Las pruebas de slice validan el mapeo de solicitudes, la validación y el manejo de errores sin un contexto completo.

  • Lección 2 • Pruebas Unitarias con JUnit 5 y Mockito

    Prueba clases individuales de forma aislada usando aserciones de JUnit 5 y mocks de Mockito. Las pruebas unitarias aisladas se ejecutan rápido y señalan defectos en su origen.

  • Lección 3 • Pruebas de Slice de Repositorios con DataJpaTest

    Valida consultas JPA y métodos de repositorio usando una base de datos en memoria. Las pruebas de capa de datos confirman la generación correcta de SQL y el mapeo de entidades.

  • Lección 4 • Pruebas de Beans y Servicios de Spring

    Carga un contexto Spring parcial con @ExtendWith(SpringExtension) y @MockBean. Las pruebas de capa de servicio verifican la lógica de negocio con cableado real de Spring.

  • Lección 5 • Pruebas de Integración y de Extremo a Extremo

    Ejecuta pruebas de pila completa contra una base de datos real usando Testcontainers y RestAssured. Las pruebas de integración detectan defectos entre capas que las pruebas unitarias y de slice pasan por alto.

Capítulo 8Ver detalles

Despliegue y Preparación para Producción

  • Lección 1 • Contenerización con Docker

    Crea imágenes Docker optimizadas usando JAR en capas y construcciones multi-etapa. Los contenedores estandarizan el entorno de ejecución y simplifican la orquestación.

  • Lección 2 • Registro Estructurado y Trazado Distribuido

    Configura Logback para registros JSON estructurados y añade IDs de traza con Micrometer Tracing. Los registros y trazas correlacionados aceleran el análisis de causa raíz en sistemas distribuidos.

  • Lección 3 • Empaquetado y Ejecución de la Aplicación

    Construye JAR y WAR ejecutables y configura opciones de inicio de JVM. El empaquetado correcto asegura que la aplicación se ejecute de forma idéntica en todos los destinos de despliegue.

  • Lección 4 • Ajuste de Rendimiento y Caché

    Aplica la abstracción de caché de Spring, ajuste de pool de conexiones y procesamiento asíncrono. Estas optimizaciones reducen la latencia y aumentan el rendimiento bajo carga de producción.

  • Lección 5 • Observabilidad con Spring Boot Actuator

    Expone endpoints de salud, métricas e información a través de Spring Boot Actuator. Los endpoints de observabilidad son la base para el monitoreo y las alertas en producción.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador junior: quiere ir más allá de los tutoriales para adentrarse en la ingeniería de backend real.

  • Persona en cambio de trayectoria profesional: alguien que está haciendo la transición desde un campo no técnico hacia el desarrollo de software de manera profesional.

  • Egresado de ciencias de la computación: tiene teoría académica pero carece de experiencia práctica en proyectos con Spring Boot.

  • Desarrollador frontend: listo para ampliar sus habilidades y dominar toda la pila de aplicaciones.

  • Programador aficionado: desarrolla proyectos personales y busca alcanzar una calidad de código profesional.

  • Ingeniero de QA: busca un conocimiento más profundo de desarrollo para avanzar hacia un rol de programación.

Lo que dicen nuestros estudiantes

Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en Perú?

¿Los cursos son gratuitos?

¿Cuál es la carga horaria del curso?

¿Cómo son los cursos?

¿Cómo funcionan los cursos?

¿Cuál es la duración de los cursos?

¿Cuál es el costo o precio de los cursos?

¿Qué es un curso EAD u online y cómo funciona?

Curso en PDF