Descripción

Este documento es una guía paso a paso sobre cómo desarrollar una aplicación web, partiendo de cero, usando Spring Framework.

Se asume que posees un conocimiento superficial de Spring, por lo que este tutorial te sera útil si estas aprendiendo o investigando Spring. Durante el tiempo que trabajes a través del material presentado en el tutorial, podrás ver cómo encajan diversas partes de Spring Framework dentro de una aplicación web Spring MVC, como Inversión de Control (Inversion of Control - IoC), Programación Orientada a Aspectos (Aspect-Oriented Programming - AOP) y la integración con las diversas librerías de servicios (como JPA).

Spring provee diversas opciones para configurar tu aplicación. La forma más popular es usando archivos XML. Ésta es la forma más tradicional, soportada desde la primera versión de Spring. Con la introducción de Anotaciones en Java 5, ahora disponemos de una manera alternativa de configurar nuestras aplicaciones Spring. La nueva versión Spring 4.2.5 introduce un amplio soporte para configurar una aplicación web mediante anotaciones. Este documento usa el estilo más moderno de configuración mediante anotaciones.

Ten en cuenta que no se tratará ninguna información en profundidad en este tutorial, así como ningún tipo de teoría; hay multitud de libros disponibles que cubren Spring en profundidad; siempre que una nueva clase o característica sea usada en el tutorial, se mostrarán enlaces a la sección de documentación de Spring, donde la clase o característica es tratada en profundidad.

1. Contenido

La siguiente lista detalla todas las partes de Spring Framework que son cubiertas a lo largo del tutorial.

  • Inversión de Control (IoC)

  • El framework Spring Web MVC

  • Acceso a Datos mediante JPA

  • Integración mediante tests

2. Software Requerido

Se requiere el siguiente software y su adecuada configuración en el entorno. Deberías sentirte razonablemente confortable usando las siguientes tecnologías.

  • Java SDK 1.7+

  • SpringSource Tool Suite 3.7.3 (Recomendado, pero no necesario)

  • Maven 2

El proyecto SpringSource Tool Suite (http://www.springsource.com/products/sts) proporciona un excelente entorno para el desarrollo de aplicaciones que utilicen Spring Framework. SpringSource Tool Suite integra sobre la plataforma Eclipse (http://www.eclipse.org/), entre otras cosas, el plugin de Spring IDE así como también da soporte al servidor Pivotal tc Server (Tomcat). Por supuesto, puedes usar cualquier variación de las versiones de software anteriores. En concreto, los pasos de este tutorial son reproducibles sobre el servidor GlassFish v3.1.2 (https://glassfish.java.net/). Si quieres usar NetBeans o IntelliJ en lugar de Eclipse, o Jetty en lugar de Tomcat o GlassFish, ciertos pasos de este tutorial no se corresponderán directamente con tu entorno, pero deberías ser capaz de seguir adelante de todas maneras.

3. La aplicación que vamos a construir

La aplicación que vamos a construir desde cero a lo largo de este tutorial es un sistema de mantenimiento de inventario muy básico. Este sistema de mantenimiento de inventario está muy limitado en alcance y funcionalidad; abajo puedes ver un diagrama de casos de uso ilustrando los sencillos casos de uso que implementaremos. La razón por la que la aplicación es tan limitada es que puedas concentrarte en las características específicas de Spring Web MVC y Spring, y olvidar los detalles más sutiles del mantenimiento de inventario.

Diagrama de casos de uso de un sistema de mantenimiento de inventario

Comenzaremos configurando la estructura básica de los directorios para nuestra aplicacion, descargando las librerias necesarias, etc. El primer paso nos proporcionará una base sólida sobre la que desarrollar de forma adecuada las secciones 2, 3, y 4.

Una vez terminada la configuración básica, introduciremos Spring, comenzando con el framework Spring Web MVC. Usaremos Spring Web MVC para mostrar el stock inventariado, lo que implicará escribir algunas clases simples en Java y algunos JSP. Entonces introduciremos acceso de datos y persistencia en nuestra aplicación, usando para ello el soporte que ofrece Spring para JPA.

Una vez hayamos finalizado todos los pasos del tutorial, tendremos una aplicación que realiza un mantenimiento básico de stock, incluyendo listados de stock y el incremento de precios de los productos de dicho stock.