Curso de Introducción práctica a Java Spring (Programa detallado)

Objetivo:

El alumnado será capaz de entender los componentes de la arquitectura de Java Spring, configurar un entorno de programación con esta tecnología, y programar una aplicación que interactúe con una base de datos MySQL.

La realización de este curso permitirá dotar al alumnado de los conocimientos mínimos para, aplicando los principios aprendidos, poder desplegar en el futuro soluciones sofisticadas.

Dirigido a:

Desarrolladores de Software con un conocimiento previo del lenguaje de programación Java, así como conocimiento del manejo de algún entorno visual de programación (IDE).

Este curso es interesante tanto para programadores noveles como para desarrolladores experimentados en Java que quieran conocer las ventajas de la plataforma.

Requisitos:

Es muy recomendable que el alumnado tenga un conocimiento previo de algún entorno integrado de programación (IDE), como por ejemplo Eclipse o IntelliJ.

Es también esencial tener experiencia de al menos 1 año con el lenguaje de programación Java y conocimientos básicos de Git para poder gestionar el código que se utiliza en el curso.

Todo el material del curso se ha desarrollado sobre Windows 10.

Programa del curso

1.- La arquitectura de Java Spring

Objetivo

Al finalizar esta unidad el alumno estará familiarizado con la arquitectura de Java Spring y con los conceptos fundamentales sobre los que se apoya este entorno de desarrollo, tales como la inyección de dependencias y la inversión de control. El alumno también entenderá a alto nivel cuáles son los módulos principales de Spring y para qué se utilizan.

Contenido

  1. La arquitectura de Java Spring
    1. ¿De dónde viene Java Spring?
    2. ¿Para qué tipo de proyectos es ideal Java Spring?
    3. Ejemplo de una aplicación web en Java Spring
    4. Beneficios de usar Java Spring
    5. Contenedores IoC
    6. El poder de MVC
    7. Testear es fácil con Java Spring Boot
    8. ¿Qué es la inyección de dependencias?
    9. ¿Qué es la inversión de control?
    10. Módulos principales de Java Spring
    11. Resumen

2.- Configurando el entorno de desarrollo de Java Spring

Objetivo

El alumno estará capacitado para configurar un entorno de Java Spring utilizando un entorno de desarrollo integrado, como primer paso para comenzar un proyecto de desarrollo de software.

Contenido

  1. Configurando el entorno de desarrollo de Java Spring
    1. Comprobando la instalación de Java
    2. Instalando el IDE
    3. ¿Es necesario instalar Tomcat o algún otro servidor Web?
    4. Tomcat a lo clásico
    5. Instalando los JAR de la aplicación con Maven   
    6. Configurando y ejecutando la aplicación
    7. Resumen

3.- Java Spring Beans, el ingrediente mágico de Java Spring

Objetivo

Entender las ventajas de encapsular y modelar el código utilizando Java Beans. Aplicar el modelaje de Java Beans a un caso real.

Contenido

  1. Java Spring Beans, el ingrediente mágico de Java Spring
    1. ¿Qué son los Java Spring Beans?
    2. Añadiendo procesadores a los Beans
    3. ¿Un Java Bean dentro de otro?
    4. Procesadores de eventos en los Java beans
    5. Heredando definiciones con Spring Beans
    6. Inyectando dependencias en los Beans
    7. Autocableando (autowiring) los Beans
    8. Spring y JDBC
    9. AOP, Programación orientada a aspectos brevemente explicada
    10. Resumen

4.- Configuración de Java Spring con anotaciones

Objetivo

Entender y poner en práctica la ventaja de utilizar anotaciones para inyectar código en Java Spring con respecto a los problemas de utilizar XML para configurar el código.

Contenido

  1. Configuración con anotaciones, la alternativa al XML
    1.  ¿Qué son las anotaciones?
    2. ¿Cómo se activan las anotaciones en Spring?
    3. ¿Cuáles son las principales anotaciones y cómo se ponen en práctica?           
    4.  Resumen

5.- Spring MVC, la herramienta de Java Spring para las aplicaciones web

Objetivo

El alumno aplicará las técnicas necesarias para escribir una aplicación de Java Spring basada en uno de los patrones de diseño (Design Pattern) más utilizado en proyectos de desarrollo web: el patrón MVC (Modelo, Vista y Controlador)

Contenido

  1. Spring MVC
    1. ¿Cuáles son los componentes de MVC?
    2. ¿Cómo funciona MVC en la práctica? 
    3. Anotaciones de MVC
    4.  Resumen

6.- Spring Boot y las aplicaciones basadas en Restful API´s

Objetivo

El alumno aprenderá a modelar y codificar una API Restful utilizando el patrón de diseño Spring Boot para acceder y actualizar datos en una Base de Datos MySQL

Contenido

  1. Spring Boot y las aplicaciones Restful
    1. ¿Qué es Spring Boot?
    2. Estructura típica del código de Spring Boot
    3. Y de nuevo los Spring Beans y la inyección de dependencias
    4. Bootstrapping
    5. Logging
    6. Spring Boot Runners
    7. Propiedades de la aplicación
    8. RESTFUL APP
    9. Resumen

7.- Desarrolla una aplicación Web con Spring MVC y MySQL

Objetivo

Implementar una aplicación funcional, incorporando todas las técnicas aprendidas en el curso. Java Spring Beans, MVC, Restful APIs, conectando y persistiendo datos de una base de datos MySQL

Contenido

  1. Desarrolla una aplicación Web con Spring MVC y MySQL
    1. ¿Qué es MySQL?
    2. Instalando MySQL
    3. Instalación de MySQL en Windows 10
    4. Conectando con el MySQL server desde MySQL Workbench
    5.  Operando con MySQL
    6.  Configurando Spring con MySQL
    7. Interactuando con la base de datos: JPA
    8. Testeando la aplicación
    9. Resumen

8.- Los proyectos de Java Spring: Spring Data, Spring Cloud, Spring Security, Spring Integration

Objetivo

Familiarizar al alumno con los proyectos más potentes y utilizados de Java Spring

Contenido

  1. Los proyectos de Java Spring
    1. Spring Data
    2. Módulos principales
    3. Spring Cloud
    4. Spring Security
    5. Spring Integration
    6. Spring Session
    7. Resumen