Spring Framework

PD-DEV-509 Spring Framework

Generalidades

Modalidad: Teórico / Práctico
Conocimientos previos:

 

Muy buenos conocimientos de Java, API Servlets, JDBC, alguna herramienta de ORM (por ej. Hibernate), JPA, patrones de diseño, JUnit.

Pre-requisitos:

Java Core

Duración: 24h.

Objetivos

  • Introducción al Spring Framework. Comprender por qué se usa para desarrollar aplicaciones empresariales (Enterprise Applications).
  • Comprender cómo es la programación cuando se usa Spring Framework.
  • Integración de Spring con tecnologías empresariales.
  • Cuándo usar spring con otras tecnologías avanzadas de Java.
  • Desarrollar aplicaciones empresariales usando Spring.

Temario

Descripción general

  • Introducción a Spring Framework.
  • Módulos de Spring.
  • Controlando la creación de objetos.
  • Soporte para la persistencia.
  • Programación Orientada a Aspectos (AOP).
  • Aplicaciones Web.
  • Integración con otros Frameworks.

Conceptos y técnicas fundamentales

  • Software basado en componentes.
  • El patrón de diseño Factory.
  • Inversión de control (también llamado Dependency Injection).
  • XML View: declaración de Beans.
  • Java View: uso de los beans.
  • Singletons y Prototypes.
  • Inicialización del estado de los beans.

Inyección de dependencias (Dependency Injection)

  • En qué consiste.
  • Relaciones simples y múltiples.
  • El esquema xml Utility.
  • Cableado automático (auto-wiring).
  • Aliases de beans.
  • Orden de instanciación.

Validaciones

  • Qué son los Validators.
  • El objeto Error.
  • La clase ValidationUtils.
  • Mensajes de error y localización (Localization).

Spring MVC

  • Qué les falta a los Servlets y a los JSPs.
  • El patrón de diseño MVC.
  • El patrón de diseño Front Controller.
  • La clase DispatcherServlet.
  • Ciclo Request/Response.
  • El patrón de diseño Strategy.
  • JavaBeans funcionando como componentes Web.
  • Contextos de aplicaciones Web.
  • Mapeos de Handlers.
  • Creación del modelo.
  • ViewResolvers.

Personalizando Spring MVC.

  • Opciones de mapeo de handlers.
  • Opciones de view resolvers.
  • Encadenando view resolvers.
  • Mandando redirects.

Controladores y comandos

  • Cómo se trabaja con formularios.
  • Objetos Comando.
  • Patrón de diseño Template Method.
  • Controladores de Comando.
  • Vinculación de datos (Data Binding).
  • Clase MultiActionController.
  • Alcance y granularidad de los objetos Comando.

Vinculaciones Web y validaciones.

  • Editores de propiedades.
  • Editores personalizados.
  • El registro de editores.
  • Cómo validar el ingreso de datos en formularios.

Controladores de formularios

  • Qué son.
  • Clase AbstractFormController.
  • Clase SimpleFormController.
  • Spring Custom Tags.
  • Tags <form:form> y <form:errors>.
  • Cómo reportar errores.

Refinando el Handling

  • Patrón de diseño Intercepting Filter.
  • Manejo de excepciones.
  • Interceptores.
  • Patrón de diseño Decorator.
  • El contexto y el ciclo de vida.
  • Interfaz Awareness.
  • Clases de soporte y utilidad.

Capa de persistencia

  • Patrón de diseño DAO.
  • Jerarquía DAOSupport.
  • Jerarquía DataAccessException.
  • DAOs con JDBC.
  • JDBCTemplate y RowMapper.
  • Mapeo Objeto/Relacional (ORM).
  • DAOs con Hibernate.
  • Control transaccional.
  • AOP vs. Anotaciones.

Capacitación en el interior y en el mundo