Elige tu idioma
Curso de Java con Spring Boot
+ de 400 mil profesionales en la plataforma
Exclusivo para empresas

Curso de Java con Spring Boot

Domina Java y Spring Boot desde cero y construye aplicaciones listas para producción que los empleadores en realidad buscan. Este curso te 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 profesionales.

Dedika para alumnos

Lo que tu equipo va a dominar:

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

Cómo estudia tu equipo de forma práctica Curso de Java con Spring Boot

Cómo practica tu equipo Curso de Java con Spring Boot

Profesionales de estas empresas estudian en Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

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. El manejo robusto de errores es crítico para construir APIs confiables con Spring Boot.

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

    Introduce lambdas, streams, Optional y records de Java 8 a Java 17. Spring Boot aprovecha estas características ampliamente en su autoconfiguración 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 correcto de colecciones es esencial para manejar datos en servicios y repositorios de 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 posterior en Java y Spring.

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

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

Capítulo 2Ver detalles

Configuración y Estructura de un Proyecto Spring Boot

  • Lección 1 • Autoconfiguración de Spring Boot

    Explica cómo Spring Boot autoconfigura beans según las dependencias del classpath. Entender este mecanismo previene configuraciones incorrectas y ayuda en la resolución de problemas.

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

    Explica la estructura estándar de paquetes, la clase principal y las convenciones de Spring Boot. Seguir estas convenciones habilita la autoconfiguración 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 mediante application.properties y application.yml con perfiles de entorno. Los perfiles permiten cambiar sin problemas entre configuraciones de desarrollo, prueba y producción.

Capítulo 3Ver detalles

Inyección de Dependencias y Núcleo de Spring

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

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

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

    Define beans programáticamente con métodos @Configuration y @Bean. La configuración Java proporciona alternativas con seguridad de tipos y refactorizables a la configuración XML o por 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 administra los beans. Este modelo mental es la base para entender cada componente de Spring.

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

    Compara la inyección por constructor, setter y campo con guías de buenas 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 utilizando SpringDoc y la especificación OpenAPI. La documentación acelera la incorporación y sirve como contrato para los consumidores.

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

    Mapea peticiones HTTP a métodos del controlador usando @RequestMapping y sus atajos. Esta sección establece el ciclo petición-respuesta central para todas las API REST.

  • Lección 3 • Buenas 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 versionado.

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

    Valida los cuerpos de las peticiones con anotaciones de Bean Validation y maneja errores de forma global. Las respuestas de error consistentes mejoran la usabilidad de la API y la integración del cliente.

  • Lección 5 • Cuerpos de Petición y Respuesta

    Serializa y deserializa JSON usando @RequestBody, @ResponseBody y Jackson. El manejo correcto de los 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

    Administra la evolución del esquema utilizando 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

    Utiliza 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 fetch. El mapeo correcto de relaciones previene problemas de integridad de datos y consultas N+1.

  • Lección 4 • Manejo de Transacciones

    Controla la consistencia de 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 de 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 desempeño.

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 privilegio mínimo.

  • 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 permite 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 básico 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 protegen 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 funcionalidad 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 peticiones, 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 localizan defectos en la fuente.

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

    Valida consultas JPA y métodos de repositorio utilizando una base de datos en memoria. Las pruebas de la 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 parcial de Spring con @ExtendWith(SpringExtension) y @MockBean. Las pruebas de la 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 JARs 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 Trazabilidad Distribuida

    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 JARs y WARs ejecutables y configura las opciones de inicio de la JVM. Un empaquetado correcto asegura que la aplicación se ejecute de manera idéntica en todos los destinos de despliegue.

  • Lección 4 • Ajuste de Desempeño y Caché

    Aplica la abstracción de caché de Spring, ajuste del 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 hacia el trabajo real de ingeniería backend.

  • Persona en cambio de carrera: está haciendo la transición de un campo no técnico hacia el desarrollo de software de forma profesional.

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

  • Desarrollador frontend: está listo para expandir sus habilidades y dominar el stack completo de aplicaciones.

  • Programador por afición: está construyendo proyectos personales y aspira a una calidad de código de nivel profesional.

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

Cursos relacionados

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en México?

¿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