Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC

Aprende desarrollo web con Spring Boot 3, Spring Framework, Spring Data JPA y MySQL (actualizado con Spring Boot 3.2.0)

4.30 (2209 reviews)
Udemy
platform
Español
language
Programming Languages
category
Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC
8,304
students
43.5 hours
content
Nov 2023
last update
$59.99
regular price

What you will learn

Configurar un servidor Linux en la nube con Ubuntu Server 20.04 LTS, Java 17 y MySQL 8 para hacer el deployment de tus aplicaciones Spring Boot 3.

Desarrollar aplicaciones web con Spring Boot 3, Thymeleaf, Spring Data JPA (Hibernate & MySQL 8) y Spring Security.

Desarrollar aplicaciones web con Spring MVC, JSP, Spring Data JPA (Hibernate & MySQL) y Spring Security.

Desarrollar RestFul Web Services con Spring Boot 3, Spring Security y Spring Data JPA (Hibernate & MySQL)

Aprenderás a desarrollar una aplicación web con Spring 6 en Windows, sin embargo el deployment de tu aplicación web en un servidor Linux en la nube.

Spring MVC: Configuration, DispatcherServlet, Controllers, Data Binding, Form Tag Library, File Upload, Root ApplicationContext, etc.

Spring Data JPA: Configuration, CrudRepository, JpaRepository, Query Methods, etc.

Spring Security: Implementar seguridad basada en usuarios y roles en tus aplicaciones web.

Desarrollar la capa de servicio con interfaces y la anotación @Service.

Implementar el API de JPA con Hibernate en conjunto con Spring Data JPA.

Aplicar una arquitectura de 3 capas (presentación, negocio y datos) a tus aplicaciones web.

Aplicar el patrón de diseño MVC en tus aplicaciones web.

Integrar plantillas HTML basadas en Bootstrap en tus aplicaciones web.

Configurar el administrador de aplicaciones de Apache Tomcat para publicar tus aplicaciones web.

Comprar y configurar un servidor Linux VPS (Virtual Private Server) con el proveedor de hosting Linode.

Comprar un dominio real en Godaddy y configurarlo con la dirección IP pública de tu VPS.

Configurar Spring Security para leer los usuarios desde una base de datos MySQL.

Encriptar passwords con el algoritmo BCrypt.

Why take this course?

ACTUALIZACIÓN DE CONTENIDO DICIEMBRE 2023

SE HA ACTUALIZADO TODO EL CONTENIDO, CODIGO FUENTE DE LOS PROYECTOS DESARROLLADOS Y LOS VIDEOS PARA TRABAJAR CON LA VERSION DE SPRING BOOT 3.2.0

ACTUALIZACIÓN DE VERSIONES

TODO EL CÓDIGO FUENTE Y LA DOCUMENTACIÓN DEL CURSO HAN SIDO PROBADAS CON LAS SIGUIENTES VERSIONES (DICIEMBRE 2023):


  • JDK 17 LTS

  • Spring Boot 3.2.0

  • Spring Framework 6.1.1

  • Spring Data JPA 3.2.0

  • Spring Security 6.2.0

  • MySQL 8.0.32

  • Deployment en Ubuntu 20.04 LTS

ACTUALIZACIÓN DE CONTENIDO

Se agregó nuevo contenido al curso (21 nuevas lecciones). El deployment de aplicaciones Spring Boot en un servidor Linux es uno de los contenidos mas solicitados por los alumnos y por tal motivo se agregó una nueva sección donde el alumno aprenderá a configurar un servidor Linux en la nube con el sistema operativo Ubuntu Server 20.04 LTS y además dejará instalada la aplicación de empleos lista para ser usada desde Internet.


ALUMNOS SATISFECHOS DE ESTE CURSO:

Guillermo Ivan Tabera Bazan

El curso es muy completo, yo no sabía nada de spring, gracias a que está bien explicado, le dedique tiempo y mucha práctica aprendi sin dolor.

En mi caso logré obtener un empleo para desarrollar en spring con mejores ingresos.

Danielo De León

Excelente curso, y excelente profesor, todo muy bien explicado, los videos muy didácticos tanto desde el punto de vista práctico como teórico, las clases se me hicieron muy amenas y en todo momento a lo largo del curso me sentí muy motivado para continuar hasta finalizarlo.

En la parte de spring boot, si bien ya tenía algunos conocimientos me sirvió tanto para reforzar como para aprender cosas nuevas y la parte de spring mvc con xml se me hizo muy amigable comparado con otro curso que había hecho hace un tiempo en que me parecía todo muy complicado y tedioso.

Muchas gracias por el curso, y un fuerte abrazo desde Uruguay!!

Alex Leiva

Debo decir que este curso supero mis expectativas, secciones bien organizadas y el profesor contribuyo con su profesionalidad a que siguiera avanzando cada lección del curso. Había tomado unos tutoriales anteriormente de spring pero me parecía muy complejo y termine frustrado. Ahora comprendí el flujo que usa el framework y como funciona, estoy muy feliz, nada mas que decir, gracias Profesor Ivan :).

Carlos Alberto Pérez Vallés

Es un curso muy completo y muy bien explicado por parte del profesor.

El ejemplo de la aplicación del cine, a lo largo de los capítulos, ayuda muchísimo a comprender los conceptos fundamentales de spring y las necesidades que se pueden presentar en un proyecto real.

Se explican muchísimos detalles a nivel de Spring, Servlet API, Tomcat, Linux. Incluso a nivel de VPS para publicar la aplicación y que esté accesible en Internet.

Mi más sincera enhorabuena al profesor, por su forma de explicar los temas y su disponibilidad a resolver todas las dudas. Muchas gracias.

Jonathan Robles

Excelente Curso

A travez de los años he trabajado en Java SE y he utilizando algunos de los frameworks mas utilizados de spring, struts y demas, puedo decir que este es sin duda el mejor curso que he llevado en relacion a spring mvc, jpa.

Estoy mas que satisfecho con la parte de spring security asi como poder publicar la pagina web en un servidor de aplicaciones real.

El profesor muestra conocimiento de los temas ademas de que realmente resuelve las dudas que se van generando.

Arturo Ramirez Camino

Excelente curso, muy bien estructurado y ha cumplido todas mis expectativas hasta el punto de haber desarrollado sin problemas una aplicación paralela a la explicada por el profesor. Lo recomiendo sin duda.

Faiber Juanias

Estoy muy interesado también en aprender más de Linux, y este curso me dio también lo necesario para publicar mis aplicaciones creadas con Spring MVC. Definitivamente excelente curso, y muchas gracias!

Marcos

Buenas, muy buen curso, se entiende todo a la perfección.

Método de aprendizaje excelente, aplicando todos los conocimientos sobre un mismo proyecto, el cual al final del curso será una aplicación completamente funcional. De esta forma se entiende todo mucho mejor y se tiene una visión clara de la utilidad de cada cosa.

Muchas gracias por el curso !

Un saludo desde España

Ignacio Jimenez Barco

Curso muy completo y maravillosamente bien explicado. Impecable pedagogía y conocimientos los del formador, pues se nota el cuidado que poner en explicar y dejar bien claros los conceptos.

El enfoque práctico, lo hacen aún más atractivo y cómodo para afianzar y comprender la materia.

Además la velocidad de respuesta es muy alta, prácticamente en el día, lo cual es de agradecer.

En resumen: un curso muy recomendable para tener contacto con Spring.

Arturo Castro

Es mi primer curso en Udemy y por el precio que he pagado por este contenido supera mis expectativas, contenido muy abundante con nuevas tecnologías

Jonny Lozano

El curso es muy bueno, el profesor tiene basta experiencia en el tema, ha actualizado el curso con contenido que ni siquiera estaba planeado y además lo que no se ve en el curso, en las respuestas que da en las preguntas de los usuarios, hay información que aunque no aplica al curso, aún así responde y dan aún más conocimiento.

Pablo Arcones

Muy buen curso para iniciarse y aprender en profundidad el desarrollo de aplicaciones web con spring. Aprendes de todo, tanto a nivel teorico como práctico. Supera las espectativas que tenia con creces!!

David Ruiz

Excelente, muy didáctico, recomendado a todos aquellos profesionales que se estén iniciando en el maravilloso mundo de Spring Framework

Leo Bollini

Excelente curso para empezar de 0, todo el tiempo desde q estoy veo que el instructor actualiza el material, y la vez que tuve que consultarlo no solo atendió la consulta, sino que ademas la resolvió y me explico el motivo en el cual fallaba en el mismo día de la consulta.

Alvaro Bayon

Excelente curso. El instructor es muy didáctico, los contenidos están actualizados. Los videos son breves y claros. Es fácil aprender Spring con este curso.

INTRODUCCIÓN

En este curso vas aprender a desarrollar Aplicaciones Web Profesionales y RestFul Web Services utilizando el framework más popular de Java Spring Boot 2. Aprenderás a usar Spring MVC para la funcionalidad de tu Aplicación Web, para el desarrollo de la capa de datos aprenderás a utilizar el módulo Spring Data JPA. Te enseñaré a integrar el framework más popular de persistencia de datos Hibernate para implementar el API de JPA. Finalmente, aprenderás Spring Security para implementar la seguridad de tus aplicaciones web.

BENEFICIOS DE TOMAR ESTE CURSO

Al terminar este curso tendrás en tu Curriculm Vitae el manejo de Spring Framework 5 & Spring Boot 2 y te ayudará a encontrar un empleo fácilmente o mejorar tu posición actual. Casi para cualquier trabajo relacionado con desarrollo web con Java, es necesario tener estas habilidades. Este curso te ayudará a aprender estas dos tecnologías de una forma muy rápida porque vamos a desarrollar un proyecto real para aplicar todos los conceptos que veremos a lo largo del curso. 

HABILIDADES Y CONOCIMIENTOS QUE APRENDERÁS A LO LARGO DEL CURSO

Spring Boot

  1. Crear proyectos Spring Boot con Spring Initializr & Spring Tools 4.

  2. Desarrollar Aplicaciones Web con Spring Boot.

  3. Desarrollar RestFul Web Services con Spring Boot.

  4. Conocer la estructura de un proyecto Spring Boot.

  5. Configurar parámetros de Spring Boot.

Spring MVC

  1. Comprender la arquitectura de Spring MVC.

  2. Comprender el ciclo de vida de las peticiones HTTP en Spring MVC.

  3. Aplicar Spring MVC en aplicaciones web. Para esto utilizaremos clases JavaBeans como componentes de Modelo, Thymeleaf para la Vista y finalmente los Controladores.

  4. Aplicar una arquitectura de 3 capas (presentación, negocio, persistencia) en tus aplicaciones web.

  5. Desarrollar la capa de negocio con clases de servicio y la anotación @Service. Aprenderás a diseñar tus clases de servicio con INTERFACES para que tus clases de servicio tengan bajo aclopamiento y sean fáciles de mantener.

  6. Comprender la Inyección de Dependencias (@Autowired).

  7. Crear controladores con @Controller.

  8. Manejo de Peticiones HTTP GET & HTTP POST: @RequestMapping, @GetMapping, @PostMapping.

  9. Definir URI dinámicas con @PathVariable.

  10. Comprender el Data Binding entre clases de modelo y formularios HTML.

  11. Recibir datos de formularios HTML con @RequestParam.

  12. Subida de archivos al servidor (Upload Files).

  13. Integrar las vistas con Thymeleaf.

  14. Manejo de errores en formularios HTML (BindingResult).

  15. Declarar redirecciones y definir Redirect Attributes.

  16. Formularios HTML de búsqueda.


Thymeleaf

  1. Integrar Thymeleaf en proyectos Spring Boot para las vistas.

  2. Iteraciones con th:each.

  3. Condicionales th:if, th:unless, Elvis Operator (?:)

  4. Configuración de recursos estáticos (Javascript, CSS, Images).

  5. Integración del framework Front-End Bootstrap.

  6. Integración de plantillas HTML.

  7. Thymeleaf Page Layouts & Fragments.


Spring Data JPA

  1. Integrar Spring Data JPA con Spring Boot.

  2. Configurar el Datasource de conexión a MySQL 5.7 & 8.0

  3. Configuración de clases Entity (@Entity, @Table, @Id, @Column).

  4. Configuración de Relaciones (@OneToOne @OneToMany, @ManyToOne).

  5. Definición de Repositorios con las interfaces (@CrudRepository, @JpaRepository).

  6. Declaración de Query Methods con @Query.

  7. Creación de consultas Query By Example (QBE).

  8. Desarrollar la capa de persistencia utilizando Spring Data JPA.

  9. Inyectar los repositorios en las clases de servicio (@Autowired).

Spring Security

  1. Integrar Spring Security con Spring Boot.

  2. Configurar Spring Security para leer los datos de los usuarios y roles de MySQL.

  3. Definir seguridad por patrones de URLs.

  4. Aplicar seguridad a tus aplicaciones web con Spring Security.

  5. Desarrollar un formulario de Login personalizado.

RestFul Web Services

  1. Crear controladores con @RestController.

  2. Anotación @ResponseBody

  3. Anotación @RequestBody.

  4. Manejo del cliente REST Postman.

A LO LARGO DE ESTE CURSO VAS A DESARROLLAR 2 APLICACIONES WEB REALES QUE TE SERVIRÁN COMO BASE PARA TUS PROPIOS PROYECTOS.


PROYECTO 1 (EmpleosApp)
¿Cual es la funcionalidad de la aplicación EmpleosApp?

El proyecto que vamos a desarrollar es una aplicación web para publicar ofertas de trabajo en Internet. Esta aplicación esta estructurada en dos secciones principales:

  • Front-End: Esta es la parte pública de la aplicación y estará abierta al público en general. En la página principal se mostrarán las ofertas de trabajo mas destacadas que han sido publicadas por un administrador. En la página principal también se encuentrá un formulario para buscar ofertas de trabajo por Descripción y por Categorías. Al hacer clic en una oferta de trabajo se mostrarán los detalles de esta vacante. Estos detalles son por ejemplo: fecha de publicación, salario ofrecido, detalles de la vacante (requisitos, requerimientos, prestaciones ofrecidas, datos de contacto, etc. En la página de los detalles de una vacante existirá un botón para que el usuario, siempre y cuando haya iniciado sesión pueda enviar si Curriculm Vitae para aplicar para la Vacante. Finalmente, en la página principal de la aplicación también existirá un botón para que los usuarios puedan registrarse en la aplicación.

  • Back-End: Esta es la parte privada de la aplicación y únicamente tendrán acceso los administradores. En esta sección los administradores podrán administrar la aplicación. Básicamente existirán 3 tipos de usuarios o roles: SUPERVISOR, ADMINISTRADOR y USUARIO. El SUPERVISOR tendrá acceso al catálogo de vacantes, categorías y solicitudes enviadas. El ADMINISTRADOR tendrá acceso al catálogo de vacantes, categorías, solicitudes enviadas y el catálogo de usuarios registrados. El USUARIO solo tendra permisos para Aplicar (enviar Curriculum Vitae) para una determinada Vacante.

PROYECTO 2 (CineApp)
¿Cual es la funcionalidad de la aplicación CineApp?

El proyecto que vamos a desarrollar es una aplicación web para llevar la administración de un CINEMA. Esta aplicación esta estructurada en dos secciones principales:

  • Front-End: Esta es la parte pública de la aplicación y estará abierta al público en general. En la página principal se mostrará la cartelera de películas que están en exhibición para la fecha actual. En la página principal también se encuentrá un formulario para buscar películas para otras fechas. Al hacer clic en una película se mostrarán los detalles de esta película. Estos detalles son  los horarios (hora, sala, precio) disponibles para la fecha  seleccionada y los datos generales de la película (imagen, título, actores, duracion, género, el video del trailer, la sinopsis, etc). Finalmente, en la página principal de la aplicación también se mostrará un pequeño blog con noticias relacionadas con el cine.

  • Back-End: Esta es la parte privada de la aplicación y únicamente tendrán acceso los administradores. En esta sección los administradores podrán administrar la aplicación. Básicamente existirán dos tipos de administradores o roles: EDITOR y GERENTE. El EDITOR tendrá acceso al catálogo de películas, catálogo de horarios y el catálogo de noticias (BLOG). El GERENTE tendrá los mismos accesos que los editores, pero tendrá acceso también para modificar el banner de la página principal.

Como puedes ver las 2 aplicaciónes están muy completas, por lo tanto vas a aprender muchas técnicas y conocimientos que podrás aplicar para tus propios proyectos.

Screenshots

Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Screenshot_01Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Screenshot_02Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Screenshot_03Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Screenshot_04

Reviews

Eduardo
January 4, 2024
Muy completo el curso, aunque a veces se hacía un poco largo, a momentos no me daba ni cuenta en ir lección tras otra
Eduardo
February 18, 2023
Excelente curso, te permite ir desde 0 hasta ser capaz de desarrollar aplicaciones con spring y spring-boot funcionales, además de dejarte en capacidad de seguir profundizando en conceptos más avanzados por tu cuenta. MÁS QUE INCREIBLE la rapidez con que el profesor resuelve tus dudas. Recomendado!
ABRAHAM
January 26, 2023
Buen curso para empezar con Spring boot. Tenia conocimientos previos de java y base de datos, y este curso me ayudó a iniciarme con spring. Lo mejor de todo es que aparecen errores en los videos y se resuelven, no como otros cursos que el profesor pica el código en un orden concreto para que no falle nunca y luego cuando estas solo te aparecen fallos a los que no sabes darle solución.
Alan
January 7, 2023
Aunque no me saliera el proyecto final, me agrada el curso para poder aprender por medio del material extra que nos proporciona el profesor. Sirve para repasar y estudiar aparte por nuestra cuenta, lo volvería a realizar e incluso con los pdf una buena guía de aprendizaje, por eso mi calificación.
Armando
January 5, 2023
Iván que bien excelente la forma como explicas y como vas de verdad de cero a 100. he aprendido mucho muchas gracias
michael
November 28, 2022
Muy buen curso, el profesor explica muy bien. Solo agregar dos cosas; una que hice una pregunta en una seccion y hasta el dia de hoy no ha respondido y la segunda seria bueno que agregara la parte de JWT para ApiRest
Ennio
August 29, 2022
Excelente comienzo, explicas a detalle, mejor que otros cursos grátil en internet (youtube), vale la pena tu curso, cada centavo hasta el momento
Christopher
August 11, 2022
Fue de las mejores elecciones que hice cuando conocí esta plataforma. El docente prepara al estudiante con excelentes bases y lo complementa con archivos para un mejor aprendizaje. Excelente docente; me gustaría que saque más cursos de spring-boot con microservicios por ejemplo. Saludos
Oscar
August 4, 2022
El curso parece ser bueno, explica muy bien el tema, solo mejoraría la sección de instaladles indicando que para empezar con Spring se requiere instalar Java y comentar la versión necesaria
Antonio
July 1, 2022
Es interesante porque, lo que explica las dos formas de configurar spring que hay, tanto java como xml.
Roger
June 30, 2022
Me quede en el video 54 en la que me marcaba un error de fields.hasErrors, la verdad no le veo el interes por parte del disque instructor de resolver los problemas y solo te manda a ver los recursos que comparte para que valides que esta bien, y no me vegas a decir que no se java o que pida el rembolso, que no se te ve el más minimo interes de ayudar.
Cristian
June 22, 2022
El curso tiene buenos fundamentos, esta bien estructurado, durante el desarrollo del curso aprendí muchas cosas que no sabia del framework, Lo recomiendo para alguien que tiene cierto conocimiento en java y bases de datos.
Joaquin
April 6, 2022
Felicidades por tu curso. Tus comentarios y explicaciones son muy buenos. Gracias por hacer estos videos y transmitir de forma fácil tus conocimientos. Gracias!!!
Gabriel
April 4, 2022
Vengo de un curso de maven con un profesor diferente, quede desanimado con ese anterior pero realmente estoy disfrutando de este curso, creo que en todos los cursos o en su mayoria deberian implementar parte torica seguido de practica. Aunque siempre debe haber la parte autodidacta por parte del alumno. Excelente.
Oscar
April 15, 2021
Muy buen curso, todo muy claro y conciso. Muy recomendable. Las lecciones breves logran que no se sienta pesado o tedioso. Y sobretodo, muy profesional tanto en el curso como en el seguimiento y las actualizaciones.

Charts

Price

Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Price chart

Rating

Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Ratings chart

Enrollment distribution

Spring Boot 3. Aplicaciones web y REST APIs con Spring MVC - Distribution chart
1148468
udemy ID
3/17/2017
course created date
11/22/2019
course indexed date
Bot
course submited by