- Cursos
- Tecnología
- Desarrollo Web
- Desarrollo Web con Spring Boot 2, Spring Framework 5, Java 11 y MySQL 8 (Actualización 2020)
Desarrollo Web con Spring Boot 2, Spring Framework 5, Java 11 y MySQL 8 (Actualización 2020)
Curso de Spring Framework 5 & Spring Boot 2: Spring MVC, Thymeleaf, Spring Data JPA (MySQL 8), Spring Security y Restful. El proyecto final es una aplicación web para publicar ofertas de trabajo en internet y permitir a los usuarios enviar su Curricum Vitae.
Desarrollador Front-end
Haz de tu sueño tu profesión y empieza una Carrera desde 9€/mes
AccederDescripción del curso
Requisitos para inscribirte
Para poder inscribirte a este curso son necesarios los siguientes requisitos:
1. Conocimientos básicos de Java y MySQL.
2. Conocimientos básicos de desarrollo web (HTML5, CSS3 y Javascript).
3. Computadora Windows/Linux/Mac con Java (8/11) y MySQL(5.7 / 8.0) instalados.
¿Está actualizado el curso?
Este curso esta desarrollado con SPRING BOOT 2. El framework de Spring es un proyecto en constante evolución. Por esta razón todo el código fuente desarrollado durante el curso es testeado continuamente con las nuevas versiones de Spring Boot (Release). En el caso de que alguna lección requiera ser actualizada, el video será actualizado para que funcione con la nueva versión de Spring Boot.
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 Curriculum 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
Crear proyectos Spring Boot con Spring Initializr & Spring Tools 4.
Desarrollar Aplicaciones Web con Spring Boot.
Desarrollar RestFul Web Services con Spring Boot.
Conocer la estructura de un proyecto Spring Boot.
Configurar parámetros de Spring Boot (application.properties).
Spring MVC
Comprender la arquitectura de Spring MVC.
Comprender el ciclo de vida de las peticiones HTTP en Spring MVC.
Aplicar Spring MVC en aplicaciones web. Para esto utilizaremos clases JavaBeans como componentes de Modelo, Thymeleaf para la Vista y finalmente los Controladores.
Aplicar una arquitectura de 3 capas (presentación, negocio, persistencia) en tus aplicaciones web.
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.
Comprender la Inyección de Dependencias (@Autowired).
Crear controladores con @Controller.
Manejo de Peticiones HTTP GET & HTTP POST: @RequestMapping, @GetMapping, @PostMapping.
Definir URI dinámicas con @PathVariable.
Comprender el Data Binding entre clases de modelo y formularios HTML.
Recibir datos de formularios HTML con @RequestParam.
Subida de archivos al servidor (Upload Files).
Integrar las vistas con Thymeleaf.
Manejo de errores en formularios HTML (BindingResult).
Declarar redirecciones y definir Redirect Attributes.
Formularios HTML de búsqueda.
Thymeleaf
Integrar Thymeleaf en proyectos Spring Boot.
Iteraciones con th:each.
Condicionales th:if, th:unless, Elvis Operator (?:)
Configuración de recursos estáticos (Javascript, CSS, Images).
Integración del framework Front-End Bootstrap.
Integración de plantillas HTML.
Thymeleaf Page Layouts & Fragments.
Spring Data JPA
Integrar Spring Data JPA con Spring Boot.
Configurar el Datasource de conexión a MySQL 5.7 & 8.0
Configuración de clases Entity (@Entity, @Table, @Id, @Column).
Configuración de Relaciones (@OneToOne @OneToMany, @ManyToOne).
Definición de Repositorios con las interfaces (@CrudRepository, @JpaRepository).
Declaración de Query Methods con @Query.
Creación de consultas Query By Example (QBE).
Desarrollar la capa de persistencia utilizando Spring Data JPA.
Inyectar los repositorios en las clases de servicio (@Autowired).
Spring Security
Integrar Spring Security con Spring Boot.
Configurar Spring Security para leer los datos de los usuarios y roles de MySQL.
Definir seguridad por patrones de URLs.
Aplicar seguridad a tus aplicaciones web con Spring Security.
Desarrollar un formularion de Login personalizado.
RestFul Web Services
Crear controladores con @RestController.
Anotación @ResponseBody
Anotación @RequestBody.
Manejo del cliente REST Postman.
El proyecto final
Demo del proyecto final que vas a desarrollar:
http://itinajero.net/empleos
A lo largo del curso vamos a desarrollar una aplicación web real completamente funcional. Esta aplicación no es la típica aplicación donde solo te enseñan ha realizar el CRUD de una tabla de contactos. En la vida real nunca te van a pedir que desarrolles una aplicación así de sencilla. Por esta razón he decido aplicar todos los conceptos que veremos a lo largo de curso en el desarrollo de una aplicación más compleja. Durante el desarrollo de esta aplicación veremos muchas técnicas y funcionalidades que si te ayudarán en un proyecto real en tu trabajo.
¿Qué proyecto desarrollaremos?
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 encuentra 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 cuándo haya iniciado sesión pueda enviar su Curriculum 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: Spervisor 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 tendrá permisos para Aplicar (enviar Curriculum Vitae) para una determinada Vacante.
Como puedes ver esta aplicación está muy completa, por lo tanto vas a aprender muchas técnicas y conocimientos que podrás aplicar para tus propios proyectos.
Contenido del curso
Spring Boot - Introducción
34:24- ¿Qué es Spring Boot?06:05AVANCE
- Instalación del IDE Spring Tools 4.05:10
- Crear un proyecto con Spring Initializr05:49
- Iniciar/Detener un proyecto web Spring Boot07:19
- Crear tu primer controlador en Spring Boot05:38
- Personalizar el puerto HTTP de tu aplicación Spring Boot03:42
- Descargas00:41
Spring Boot y Thymeleaf - Introducción
02:15:53- ¿Qué es Spring MVC?04:47
- Creación del proyecto base Empleos App con Spring Initializr05:19
- Anotación @Controller: ¿Que es un controlador en Spring MVC?03:40
- Configurar la página de inicio de una aplicación web08:08
- ¿Qué es Thymeleaf?04:18
- Agregar información al modelo para desplegarla en la vista.11:09
- Configurar la plantilla de archivos HTML en STS con el namespace de Thymeleaf04:05
- Agregar tipos de datos simples al modelo y desplegarlos en la vista06:13
- Iteraciones en Thymeleaf - Expresión <th:each>11:35
- Crear la clase de modelo Vacante para representar una oferta de trabajo.05:34
- Agregar un tipo de dato Vacante al modelo y desplegarlo en la vista08:31
- Agregar tipo de dato List<Vacante> al modelo y desplegarlos en una tabla HTML.12:28
- Integrar Bootstrap en una aplicación web vía CDN.08:47
- Condicionales en Thymeleaf - Explicación.06:28
- Condicionales en Thymeleaf - Práctica.09:31
- Urls Relativas al ContextPath - Explicación06:39
- Incluir imágenes estáticas en la vista03:55
- Incluir imágenes dinámicas en la vista.08:11
- Arquitectura de Spring MVC - Ciclo de vida de una petición HTTP06:35
Spring Boot y Thymeleaf - Controladores
58:54- Anotación @RequestMapping a nivel de un método - Explicación05:15
- Anotación @RequestMapping a nivel de un método - Práctica04:30
- Anotación @RequestMapping a nivel de una clase.04:20
- Anotación @PathVariable - URLs dinámicas07:16
- Anotación @PathVariable - Práctica08:01
- Anotación PathVariable - Crear botón HTML que responde a una URL dinámica05:21
- Anotación @RequestParam07:33
- Anotación @RequestParam - Ejemplo Petición HTTP GET09:17
- Anotación @RequestParam - Ejemplo Petición HTTP POST07:21
Spring Boot y Thymeleaf - Inyección de Dependencias
25:12- Clase de Servicio VacantesServiceImpl07:15
- Anotación @Autowired - Explicación04:37
- Anotación @Autowired - Ejemplo de Inyección de Dependencias en un controlador04:38
- Implementar método buscarPorId en la clase de servicio.08:42
Spring Boot y Thymeleaf - Fragments - Layouts (Plantillas HTML)
52:39- Explicación de la plantilla HTML del proyecto de EmpleosApp06:12
- Integrar el diseño de la página principal dinámicamente (Parte 1)07:23
- Integrar el diseño de la página principal dinámicamente (Parte 2)07:09
- Integrar el diseño para ver los detalles de una Vacante.10:04
- Integrar el diseño del formulario HTML para crear una categoría05:37
- Thymeleaf – Diseños de Páginas (Page Layouts) - Explicación07:03
- Thymeleaf – Page Layouts | Separar el código HTML del menú y el footer09:11
Spring Boot y Thymeleaf - Formularios HTML y Data Binding
01:46:35- Formulario HTML para crear una Vacante11:15
- Data Binding en Spring MVC - Explicación08:10
- Data Binding - Clase de modelo Vacante07:46
- Anotación @InitBinder - Personalizar Data Binding08:43
- Ejercicio de creación de vistas03:18
- BindingResult - Verificar errores07:55
- Desplegar errores de Data Binding en la vista.06:16
- Redirect en Spring MVC05:27
- Flash Attributes11:03
- TinyMCE – Editor Web HTML06:33
- TinyMCE – Práctica05:25
- Ejercicio - Inyección de Dependencias04:01
- Vincular inputs de formularios HTML a propiedades de clases de modelo.06:56
- Generar input de tipo <select> de forma dinámica con valores de un List07:45
- Data Binding entre un input tipo <select> y una clase definida por el usuario.06:02
Spring Boot y Thymeleaf - Upload Files
32:32- Configuración del proyecto Spring Boot para subir archivos06:23
- Clase Utileria.java para guardar archivos subidos desde formularios HTML.06:25
- Subir y guardar la imagen de la Vacante06:16
- Quitar espacios del nombre del archivo03:39
- Agregar caracteres aleatorios al nombre del archivo para evitar duplicados04:48
- Anotación @Value - Inyectar propiedades en nuestro proyecto05:01
Spring Boot y Spring Data JPA - Introducción
01:39:40- Introducción01:59
- ¿Qué es JPA?04:58
- ¿Qué es Spring Data JPA?05:14
- Estructura de la base de datos del proyecto Empleos06:25
- Creación de la base de datos empleosdb en MySQL v8.004:03
- Creación de un proyecto Spring Boot con soporte para Spring Data JPA.05:23
- Configuración del Datasource de conexión a una base de datos MySQL - Explicación05:39
- Configuración del Datasource de conexión a una base de datos MySQL - Práctica06:10
- Interfaz CommandLineRunner - Spring Boot Console Application04:08
- Anotaciones JPA - @Entity, @Table, @Id, @GeneratedValue03:44
- Interfaz CrudRepository - Crear un repositorio JPA05:30
- Anotación @Autowired - Inyectando una instancia de un Repositorio03:55
- Operaciones CRUD - (Create) Persistir una entidad05:54
- Operaciones CRUD - (Read) Recuperar una entidad por id06:18
- Operaciones CRUD - (Update) Actualizar una entidad05:07
- Operaciones CRUD - (Delete) Eliminar una entidad por id02:20
- Método count - Obtener número de entidades de una tabla03:07
- Método deleteAll - Eliminar todos los registros02:44
- Método findAllById - Recuperar varias entidades por Id06:44
- Método findAll - Recuperar todas las entidades Iterable<T>02:30
- Método existsById - Verificar si existe una entidad con un id en particular03:05
- Método saveAll - Guardar una colección de Entidades04:43
Spring Boot y Spring Data JPA - Interfaz JpaRepository
30:59- Interfaces que extienden CrudRepository07:14
- Método findAll - Recuperar todas las entidades List<T>04:17
- Método deleteAllInBatch - Eliminar todos los registros en lote02:46
- Método findAll con ordenamiento (order by) - Ejemplo 105:48
- Método findAll con paginación07:49
- Método findAll con paginación y ordenamiento03:05
Spring Boot y Spring Data JPA - Relaciones
57:16- Crear repositorio para entidades de tipo Vacante03:11
- Anotación @Transient de JPA10:25
- Anotación @OneToOne - Relación Uno a Uno07:54
- Guardar una nueva Vacante06:59
- Repositorios para entidades de tipo Usuario y Perfil05:23
- Crear los ROLES/PERFILES de la aplicación de Empleos03:53
- Anotación @ManyToMany - Relación Muchos a Muchos05:43
- Crear un usuario 2 perfiles (ADMINISTRADOR, USUARIO)09:48
- Buscar usuario y desplegar sus Perfiles asociados04:00
Spring Boot y Spring Data JPA - Query Methods
25:30- ¿Qué son los Query Methods?06:02
- Keyword findBy06:50
- Keyword And04:42
- Keyword Between03:47
- Keyword In04:09
Spring Boot - Integrar Spring MVC y Spring Data JPA
02:42:15- Introducción04:18
- Configurar los Repositorios de Spring Data JPA en nuestra aplicación de Empleos05:40
- Crear una nueva implementación de ICategoriasService con nuestro Repositorio06:48
- Anotación @Primary10:46
- Anotación @Qualifier05:05
- Crear una nueva implementación de IVacantesService con nuestro Repositorio10:55
- Configurar el parámetro serverTimezone de la conexión a MySQL04:08
- Thymeleaf Expresión th:utext - Renderizar tags de HTML en la vista08:00
- Implementar método buscarDestacadas en IVacantesService07:44
- Configurar recursos estáticos de rutas adicionales.13:45
- Configurar botón HTML para eliminar una Vacante10:59
- Módulo para editar una Vacante - Parte 112:07
- Módulo para editar una Vacante - Parte 211:22
- Ejercicio de operaciones CRUD con Spring Data JPA04:54
- Implementando formulario búsqueda de Vacantes15:18
- Query By Example - Buscando Vacantes por Categoría13:18
- Query By Example(ExampleMatcher) - Utilizando el operador Like07:25
- Implementar paginación con Spring MVC y Spring Data JPA09:43
Spring Boot y Spring Security - Introducción y Configuración
55:50- ¿Qué es Spring Security?06:58
- Agregar soporte de Spring Security en un proyecto de Spring Boot02:55
- Configuración básica - Usuario y contraseña por defecto de Spring Security05:35
- Spring Security – Cerrar Sesión03:36
- Personalizar usuario y contraseña de Spring Security02:36
- Recuperar usuarios y roles desde una base de datos MySQL - Explicación03:50
- Creación de la base de datos por defecto de usuarios de Spring Security06:26
- Recuperar usuarios y roles de la base de datos por defecto06:37
- Recuperar usuarios y roles de nuestras tablas de usuarios y roles personalizadas08:18
- Personalizar accesos a URLs08:59
Spring Boot y Spring Security - Configurar acceso a los recursos por roles
01:21:46- Personalizar accesos a URLs por ROLES05:24
- Expresión sec:authorize de Thymeleaf - Renderizar el menú dinámicamente04:56
- Recuperar el nombre el usuario que inició sesión en un controlador.08:26
- Recuperar los roles del usuario que inició sesión en un controlador.03:13
- HttpSession - Agregar datos en la sesión del usuario06:49
- Renderizar atributos de la sesión con Thymeleaf05:07
- Recuperar el nombre el usuario que inició sesión en la vista con Thymeleaf.02:04
- Expresión Thymeleaf sec:authorize="isAnonymous()"03:12
- Expresión Thymeleaf sec:authorize="isAuthenticated()"02:36
- Encriptar passwords con el algoritmo BCrypt - Explicación06:14
- Encriptar passwords con el algoritmo BCrypt - Práctica05:40
- Utilería para encriptar passwords con el algoritmo BCrypt en un Controlador09:04
- Creación de un formulario de login personalizado - Explicación05:39
- Creación de un formulario de login personalizado - Práctica07:01
- Método personalizado para cerrar la sesión del usuario.06:21
Spring Boot - Restful Web Service
01:15:55- Crear el proyecto base para el proyecto Music API05:11
- Creación de la base de datos y la tabla para guardar los Albums de canciones.04:44
- Crear la clase Entity para mapear la tabla Albums de la base de datos.04:52
- Crear el Repositorio JPA para la clase Album01:56
- Crear la clase de Servicio para la entidad Album04:53
- Configurar el Datasource de conexión a la base de datos MySQL05:33
- Anotación @RestController: Crear nuestro primer controlador tipo REST.13:33
- Instalar el cliente gráfico PostMan03:10
- Petición HTTP GET - Recuperar el listado de Albums05:37
- Petición HTTP POST - Guardar un album | Anotación @RequestBody13:21
- Petición HTTP PUT - Actualizar un Album existente06:57
- Petición HTTP DELETE- Borrar un Album existente06:08
Valoraciones
- 5 ESTRELLAS100%
- 4 ESTRELLAS0%
- 3 ESTRELLAS0%
- 2 ESTRELLAS0%
- 1 ESTRELLAS0%
- AlejandroBerga CamonIncluir valoración media (en números)
¿Por qué pagar por un curso cuando puedes tenerlos todos?
Prueba la Suscripción ahoraO quiero saber más
Cursos que quizás te interesen
- 10 €11 h5
- 19 €1 h0