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

Domina Java y Spring Boot desde cero y crea aplicaciones listas para producción que los empleadores realmente quieran. Este curso te lleva desde los fundamentos básicos de Java hasta las APIs REST, la persistencia en bases de datos, la seguridad, las pruebas y el despliegue con Docker. Cada concepto se basa en prácticas de ingeniería del mundo real utilizadas en equipos de desarrollo profesionales.

Dedika para empresas

Lo que vas a aprender:

Empezarás con los fundamentos de Java, incluyendo OOP, colecciones y las características modernas de Java, para luego pasar a la configuración de proyectos con Spring Boot, la inyección de dependencias y la arquitectura de la aplicación. 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, protegerás tus APIs con Spring Security y JWT, y escribirás pruebas unitarias y de integración con JUnit 5 y Mockito. Finalmente, containerizarás tu aplicación con Docker y configurarás 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 formar 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 comprobadas y no comprobadas, try-catch-finally y excepciones personalizadas. Un manejo de errores robusto es fundamental para construir APIs Spring Boot fiables.

  • 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 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 correcto 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 sintáctica necesaria para todo el código Java y Spring posterior.

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

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

Capítulo 2Ver detalles

Configuración y Estructura del 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. Comprender este mecanismo previene configuraciones incorrectas y facilita la resolución de problemas.

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

    Explica la estructura de paquetes estándar, la clase principal y las convenciones de Spring Boot. Seguir estas convenciones permite 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

    Gestiona 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

    Usa @Component, @Service, @Repository y @Controller para registrar beans automáticamente. El uso correcto 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 ofrece alternativas seguras en tipos y refactorizables a XML o al 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 comprender cada componente de Spring.

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

    Compara la inyección por constructor, setter y campo con orientación sobre mejores prácticas. Elegir el estilo de inyección correcto mejora la comprobabilidad y la claridad del código.

Capítulo 4Ver detalles

Construcción de APIs 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 y sirve como contrato para los consumidores.

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

    Asigna solicitudes HTTP a métodos del controlador usando @RequestMapping y sus atajos. Esta sección establece el ciclo de solicitud-respuesta central para todas las APIs 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 APIs 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 solicitudes con anotaciones de Bean Validation y maneja errores globalmente. Las respuestas de error coherentes mejoran la usabilidad de la API y la integración del cliente.

  • Lección 5 • Cuerpos de Solicitud y Respuesta

    Serializa y deserializa JSON usando @RequestBody, @ResponseBody y Jackson. El manejo correcto del cuerpo garantiza 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 garantizan un estado de base de datos coherente 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 del 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. Un mapeo de relaciones correcto previene problemas de integridad de datos y consultas N+1.

  • Lección 4 • Gestión 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 Java a tablas de base de datos usando anotaciones JPA. Un diseño correcto de entidades es la base de una capa de datos fiable y eficiente.

Capítulo 6Ver detalles

Seguridad con Spring Security

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

    Restringe el acceso a los endpoints usando @PreAuthorize, @Secured y reglas de seguridad HTTP. La autorización detallada aplica el principio de mínimo privilegio.

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

    Implementa la emisión, validación y renovación de tokens usando JSON Web Tokens. JWT permite una autenticación escalable y sin estado para las 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 Cabeceras de Seguridad

    Configura el intercambio de recursos de origen cruzado, la protección CSRF y las cabeceras 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 gestor 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 Segmento de Controlador con MockMvc

    Prueba controladores REST de forma aislada usando @WebMvcTest y MockMvc. Las pruebas de segmento 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 JUnit 5 y mocks de Mockito. Las pruebas unitarias aisladas se ejecutan rápido y localizan defectos en el origen.

  • Lección 3 • Pruebas de Segmento de Repositorio 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 • Prueba de Beans y Servicios de Spring

    Carga un contexto parcial de Spring con @ExtendWith(SpringExtension) y @MockBean. Las pruebas de capa de servicio verifican la lógica de negocio con conexión 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 segmento 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 por 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 JARs y WARs ejecutables y configura las opciones de inicio de la JVM. Un empaquetado correcto garantiza 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 del pool de conexiones y procesamiento asíncrono. Estas optimizaciones reducen la latencia y aumentan el rendimiento de transferencia bajo carga de producción.

  • Lección 5 • Observabilidad con Spring Boot Actuator

    Expone endpoints de salud, métricas e información mediante Spring Boot Actuator. Los endpoints de observabilidad son la base para la monitorización y alertas en producción.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador júnior: quiere ir más allá de los tutoriales para adentrarse en el trabajo real de backend.

  • Cambio de carrera: transición desde un campo no técnico hacia el desarrollo de software a nivel profesional.

  • Graduado en Informática: tiene teoría académica, pero carece de experiencia práctica en proyectos con Spring Boot.

  • Desarrollador frontend: preparado para ampliar competencias y dominar toda la pila de la aplicación.

  • Programadora o programador aficionado: que construye proyectos personales y aspira a una calidad de código profesional.

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

Lo que dicen nuestros alumnos

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... agradezco todo lo que hacéis, ya os he recomendado a otras personas...
Giulio Carlo
Giulio CarloAlumno de Marketing Digital
Me gusta cómo las lecciones van directas al grano y cómo puedo cambiar de capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresAlumna de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de vídeos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaAlumna de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los vídeos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeAlumno de Ingeniería de Prompts

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en España?

¿Los cursos son gratuitos?

¿Cuál es la carga lectiva 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 coste o precio de los cursos?

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

Curso en PDF