domingo, 12 de mayo de 2013

Desarrollando con Spring Framework 3.1 en el IDE Netbeans 7.2.

Spring Framework 3.1, es un conjunto de bibliotecas para el desarrollo de aplicaciones Java (aplicaciones cliente servidor y aplicaciones Web). Esta versión de Spring es compatible con JDK 6 y 7, y se usan @Anotaciones en lugar de escribir archivos xml.
Para iniciar vamos a utilizar el Netbeans IDE 7.2, en la que viene integrado las bibliotecas de Spring Framework 3.
Creando un nuevo Proyecto
Iniciamos en el menú de Netbeans: File > New Project… Seleccionamos el tipo de proyecto: Java Web > Web Application.
clip_image001
Le damos el nombre “heyma” y establecemos una ubicación específica para el proyecto.
Luego seleccionamos el Servidor de Aplicaciones Glassfish y la versión de Java EE 6, manteniendo el valor del Context Path con “/heyma“.
clip_image002
Nota: Una aplicación Spring puede desplegarse también en un servidor Tomcat un servidor más ligero recomendable para el momento de desarrollo.
Ahora viene el momento de la selección de Frameworks. En esta ventana vamos a seleccionar el Spring Web MVC y seleccionar la versión 3.
clip_image003
Con estos pasos tan solo resta ejecutar la aplicación (Run o Deploy) para tener una aplicación Web con Spring publicado en HTTP.
clip_image004
Ya vimos cómo iniciar un proyecto Web con Spring Framework en Netbeans 7.2, ahora vamos a personalizar un poco más la configuración para desarrollar una aplicación completa.
Para probar nuestra primera parte de la configuración vamos a crear nuestro primer componente de Spring que dirá “Hola mundo” con una simple clase Java.
El Spring Framework 3 soporta @Anotaciones en lugar de escribir archivos XML para describir los componentes. Para activar esto editaremos el archivo applicationContext.xml, quedara de la siguiente forma:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
 
    <context:component-scan base-package="org.heyma.webapp" />
    <mvc:annotation-driven />
 
    <!--bean id="propertyConfigurer"
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
          p:location="/WEB-INF/jdbc.properties" />
 
<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    p:driverClassName="${jdbc.driverClassName}"
    p:url="${jdbc.url}"
    p:username="${jdbc.username}"
    p:password="${jdbc.password}" /-->
 
    <!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
 
</beans>

NOTA: Como ven existía un error en la plantilla de creación del proyecto de Netbeans las referencias de ubicación están apuntando a Spring 2.5 y para que funcione correctamente lo hemos cambiado a 3.1:
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
   //En el original dice .../spring-tx-2.5
La línea 15 del archivo applicationContext.xml (Editado) hace referencia a un paquete que debemos agregar al proyecto (org.heyma.webapp). Como se muestra en la siguiente imagen:
clip_image005
Ahora agregamos al paquete una clase Java con las @Anotaciones necesarias para convertirla en un Bean o Componente de Spring. Será necesario agregar las dependencias correspondientes (imports) de Spring. La clase se llamará MainController.java con el siguiente código:

 package org.heyma.webapp;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
/**
 *
 * @author John
 */
@Controller
public class MainController {
 
    @RequestMapping("/saludo.htm")
    public @ResponseBody
    String saludo() {
        return "Hola mundo";
    }
}

A continuación les mostramos una imagen con algunas líneas marcadas que muestran las @Anotaciones de Spring que se están usando. La Clase contiene además un método que retorna la cadena “Hola mundo” llamado saludo().
clip_image006
@Controller, Le dirá al contenedor que la Clase será un Componente o Bean de Spring, y se creará una instancia al momento de desplegar la aplicación.
@RequestMapping(“/urlDelServicio”), determina la URL para la llamada HTTP. Se puede definir el tipo de petición GET o POST, esto lo veremos en siguientes tutoriales.
@ResponseBody, Definirá la respuesta según el objeto. En nuestra primera experiencia retornaremos una cadena “Hola mundo”.
Ahora estamos listos para ejecutar Deploy o Run luego cambiando en la URL index.htm a saludo.htm veremos el resultado como se muestra en la siguiente imagen.
clip_image007
Con esto concluimos con la primera parte de la Configuración de una Aplicación Web con Spring Framework 3.1, en próximas entradas explicare como agregar Base de Datos y otras utilidades.
Espero les haya resultado de utilidad y esperamos sus comentarios.
Referencias:

  1. Introducción al IDE Netbeans 7.2
  2. Creación de Proyectos Java en Netbeans


¿Te ha gustado este Post? Compártelo con tus amigos.

3 comentarios:

  1. Como seria para usar Netbeans con la ultima version de Spring la 4??

    ResponderEliminar
  2. Referencias?????, más bien COPIADO DE: jajajajajajaja

    ResponderEliminar

IconIconIcon