Curso de Arquitectura Java Sólida con Spring 4.3 y Anotaciones . Varias personas me comentaron en su momento que estaría bien que desarrollara un curso sobre Arquitecturas Java Sólidas utilizando las últimas versiones de Spring Framework :). Hoy por hoy aunque acaba de salir la versión 5 la versión 4.3 es la más recomendable y se ha actualizado hace unas semanas. ¿Qué aborda el curso? . Bueno el curso aborda como construir una Arquitectura Sólida con los últimas tecnologías que Spring Framework soporta. Aplicando para ello buenas prácticas y patrones de diseño. A continuación se explica cada uno de los módulos del curso.
Arquitectura Java Sólida (contenidos)
Modulo1: Java Persistence API
En este módulo se realiza una introducción a Java Persiscence API (JPA) . Abordando tanto la construcción de entidades como la relación entre ellas. Por otro lado se hace hincapié en buenas prácticas que son esenciales a la hora de usar un motor de persistencia , como son los conceptos de Lazy Fetching e Eager Fetching y la creación de pruebas unitarias para las operaciones básicas. Este módulo es además gratuito y te puedes apuntar aquí :).
Módulo2: Repositorios y Servicios
Este módulo es uno de los mas grandes del curso y aborda los patrones de Repositorio , Generic Repositorio y Servicio . Se explica como construir cada uno de ellos y cuales son sus responsabilidades. Por otro lado se evoluciona el código para poder trabajar con la última versión de Spring como framework de Inyección de dependencias que facilita la relación entre Servicios y Repositorios. En este módulo se cubre también otra parte fundamental del diseño de nuevas arquitecturas la eliminación de ficheros xml y migración a un sistema de gestión basado en anotaciones.
Módulo3: Spring MVC
Este módulo se encarga de migrar el código previamente construido a un formato de aplicación web con Spring MVC. Se abordan temas como la propia configuración de Spring MVC así como el uso de anotaciones para definir cada uno de sus elementos. En este módulo se abordan también patrones de diseño avanzados como el de Composite View , manejo de plantillas e integración con Spring Security.
Módulo4: Spring Data
Este módulo se encarga de refactorizar la capa de persistencia construida con JPA para poder hacer uso de Spring Data. Spring Data es el framework de Spring orientado a simplificar los patrones de persistencia y nos permitirá eliminar clases como la de GenericRepository y aportar el soluciones más elegantes que permiten simplificar sobremanera la forma de trabajar en el día a día con JPA.
Módulo5: Spring REST
Este módulo se encarga de publicar parte de la funcionalidad que tenemos diseñada en nuestros repositorios como un servicio REST para que otras aplicaciones como Angular JS puedan acceder a el sin problemas. El módulo abordará también la creación de pruebas unitarias y el uso de Spring Data REST como framework REST y HATEOAS a la hora de consumir los servicios.