Skip to content

22. Anexos

A continuación, explicamos cómo instalar las herramientas utilizadas en este documento en equipos con Windows 7 u 8. Las capturas de pantalla suelen mostrar las versiones de 64 bits de SGBD y de las herramientas instaladas. El lector deberá adaptarse a su propio entorno.

22.1. Instalación de un JDK

En el URL se encuentra el [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (octubre de 2014), el JDK más reciente. A partir de ahora, llamaremos <jdk-install> a la carpeta de instalación del JDK.

 

22.2. Instalación de Maven

Maven es una herramienta para gestionar las dependencias de un proyecto Java y mucho más. Está disponible (octubre de 2014) en URL y [http://maven.apache.org/download.cgi].

 

Descarga y descomprime el archivo. Llamaremos <maven-install> a la carpeta de instalación de Maven.

  • En [1], el archivo [conf / settings.xml] configura Maven;

En él se encuentran las siguientes líneas:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
-->

El valor predeterminado de la línea 4 puede causar problemas en algunos programas que utilizan Maven, si, como en mi caso, tu {user.home} tiene un espacio en su ruta (por ejemplo, [C:\Users\Serge Tahé]). Designaremos (línea 7) otra carpeta para el repositorio local de Maven:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>

En la línea 7, evitaremos una ruta que contenga espacios.

22.3. Instalación de STS (Spring Tool Suite)

Vamos a instalar SpringSource Tool Suite [http://www.springsource.com/developer/sts] (octubre de 2014), un Eclipse que ya viene equipado con numerosos complementos relacionados con el marco Spring y también con una configuración de Maven preinstalada.

  • visita el sitio web de SpringSource Tool Suite (STS) [1], para descargar la versión actual de STS [2A] [2B],
  • el archivo descargado es un instalador que crea la estructura de archivos [3A] [3B]. En [4], se ejecuta el archivo ejecutable,
  • en [5], aparece la ventana de trabajo de IDE después de cerrar la ventana de bienvenida. En [6], se muestra la ventana de servidores de aplicaciones,
  • en [7], la ventana de servidores. Se registra un servidor. Se trata de un servidor VMware compatible con Tomcat.

Hay que indicar en STS la carpeta de instalación de Maven:

  • en [1-2], se configura STS;
  • en [3-4], se agrega una nueva instalación de Maven;
  • en [5], se indica la carpeta de instalación de Maven;
  • en [6], finalizamos el asistente;
  • en [7], se establece la nueva instalación de Maven como la instalación predeterminada;
  • en [8-9], se verifica el repositorio local de Maven, la carpeta donde se guardarán las dependencias que se descargarán y donde STS guardará los artefactos que se compilarán;

También hay que elegir un JDK (Java Development Kit) para ejecutar tanto los proyectos de Eclipse sin Maven como los que lo tienen, [1-5].

Con [4], se pueden agregar JDK (Java Development Kit) o JRE (Java Runtime Environment). Este último puede ejecutar archivos .class, pero no puede compilar los archivos .java para generarlos. El JDK puede hacer ambas cosas. Se elegirá un JDK porque ciertas operaciones de Maven requieren un JDK.

Para crear un proyecto de Eclipse, se seguirá el siguiente procedimiento:

  • en [3], asigne un nombre al proyecto;
  • en [4], seleccione una carpeta existente y vacía;
  • en [5], el proyecto creado;
  • en [5-8], crea un paquete. Un paquete es una carpeta que contiene código Java. Dos clases pueden tener el mismo nombre si pertenecen a paquetes diferentes. En un proyecto, no puede haber dos paquetes con el mismo nombre. Por lo tanto, no se puede utilizar un nombre de paquete que ya exista en alguna de las dependencias del proyecto. Una empresa utilizará como nombre de paquete uno que especifique la empresa, el proyecto y las diferentes ramas del mismo;
  • en [9], asigne un nombre al paquete;
  • en [10], el paquete creado;
  • en [11-13], se crea una clase en el paquete que se ha creado;
  • en [14], asigne un nombre a la clase (debe cumplir con la norma CamelCase: cada palabra del nombre debe comenzar con una mayúscula seguida de minúsculas);
  • en [15], verifique el paquete;
  • en [16], marque la casilla. Esto solicita que se genere el método estático [main]. Este método convierte a una clase en ejecutable, es decir, la primera clase que se ejecutará en un proyecto;
  • en [17], la clase así creada;

Escriba en el método [main] el siguiente código que muestra un texto en la consola:


package st.istia;

public class Test01 {

    public static void main(String[] args) {
        System.out.println("test01");
    }

}
  • En [18-20], ejecute la clase. A continuación, se ejecutará su método [main];
  • en [21-22], el resultado de la aplicación;

Si la vista [Console] no está presente, proceda de la siguiente manera con [1-4]:

Es posible que al importar un proyecto de Eclipse, este presente errores. Esto puede deberse a una configuración incorrecta del proyecto. Para corregir el error (si lo hay), proceda de la siguiente manera:

  • en [1], modifique el archivo [Build Path] del proyecto;
  • a [2], el proyecto está configurado para utilizar un JVM 1.5;
  • en [3], elimine esta dependencia;
  • en [4], agregue una nueva dependencia;
  • en [5], se agrega un JVM;
  • en [6], se selecciona el JVM de la entrada;

Una vez hecho esto, validamos todo y pasamos a la propiedad [Java compiler] del proyecto [7]:

  • en [8], se le pide al compilador que acepte todas las características del lenguaje Java hasta la versión 1.7 (o 1.8) inclusive;
  • en [9], se valida;
  • en [10], el proyecto así reconfigurado ya no debe presentar errores;

Además, el proyecto importado puede utilizar una codificación de caracteres UTF-8. Siga estos pasos para establecer esta codificación en el proyecto importado [1-4]:

Además, puede ser útil desactivar la revisión ortográfica en el proyecto para evitar que los comentarios en francés aparezcan subrayados como incorrectos. Siga los pasos [1-4] que se indican a continuación:

22.4. Instalación de NetBeans IDE

NetBeans está disponible en URL [http://netbeans.org/downloads/].

 

Se puede descargar la versión de Java SE (Edición Estándar) desde el enlace anterior.

22.5. Instalación de la extensión de Chrome [Advanced Rest Client]

En este documento, se utiliza el navegador Chrome de Google (http://www.google.fr/intl/fr/chrome/browser/). Se le agregará la extensión [Advanced Rest Client]. Se puede proceder de la siguiente manera:

 
  • la aplicación estará entonces disponible para descargar:
  • Para obtenerla, deberá crear una cuenta de Google. [Google Web Store] solicita luego la confirmación [1]:
  • En [2], la extensión agregada está disponible en la opción [Applications] [3]. Esta opción aparece en cada nueva pestaña que crees (CTRL-T) en el navegador.

22.6. Manejo de jSON en Java

De manera tra nsparente para el desarrollador, el marco [Spring MVC] utiliza la biblioteca jSON [Jackson]. Para ilustrar qué es el jSON (Notación de objetos JavaScript), presentamos aquí un programa que serializa objetos en jSON y realiza el proceso inverso al deserializar las cadenas jSON generadas para recrear los objetos iniciales.

La biblioteca «Jackson» permite construir:

  • la cadena jSON de un objeto: new ObjectMapper().writeValueAsString(object);
  • un objeto a partir de una cadena jSON: new ObjectMapper().readValue(jsonString, Object.class).

Ambos métodos pueden lanzar un IOException. A continuación se muestra un ejemplo.

El proyecto anterior es un proyecto de Maven con el siguiente archivo [pom.xml]:


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>istia.st.pam</groupId>
  <artifactId>json</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.3.3</version>
    </dependency>
  </dependencies>
</project>
  • líneas 12-16: la dependencia que incluye la biblioteca «Jackson»;

La clase [Personne] es la siguiente:


package istia.st.json;

public class Personne {
    // datos
    private String nom;
    private String prenom;
    private int age;

    // fabricantes
    public Personne() {

    }

    public Personne(String nom, String prénom, int âge) {
        this.nom = nom;
        this.prenom = prénom;
        this.age = âge;
    }

    // firma
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }

    // getters y setters
...
}

La clase [Main] es la siguiente:


package istia.st.json;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Main {
  // la herramienta de serialización/deserialización
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // creación de una persona
    Personne paul = new Personne("Denis", "Paul", 40);
    // visualización jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // instanciación de una persona a partir de JSON
    Personne p = mapper.readValue(json, Personne.class);
    // visualización de persona
    System.out.println("Personne=" + p);
    // una tabla
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // visualización de JSON
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // diccionario
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // Visualización de JSON
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Al ejecutar esta clase, se muestra lo siguiente en pantalla:

1
2
3
4
Json={"nom":"Denis","prenom":"Paul","age":40}
Personne=Personne[Denis, Paul, 40]
Json personnes=[{"nom":"Denis","prenom":"Paul","age":40},{"nom":"Radot","prenom":"Virginie","age":20}]
Json hpersonnes={"2":{"nom":"Radot","prenom":"Virginie","age":20},"1":{"nom":"Denis","prenom":"Paul","age":40}}

De este ejemplo, cabe destacar:

  • el objeto [ObjectMapper] necesario para las transformaciones jSON / Objeto: línea 11;
  • la transformación [Personne] --> jSON: línea 17;
  • la transformación jSON --> [Personne]: línea 20;
  • la excepción [IOException] lanzada por ambos métodos: línea 13.

22.7. Instalación de [WampServer]

[WampServer] es , un conjunto de programas para desarrollar en PHP / MySQL / Apache en una máquina con Windows. Lo utilizaremos únicamente para SGBD y MySQL.

  • En el sitio web de [WampServer] [1], elige la versión adecuada [2],
  • el archivo ejecutable descargado es un instalador. Durante la instalación se solicita diversa información. Esta información no se refiere a MySQL. Por lo tanto, se puede ignorar. Al finalizar la instalación, aparece la ventana [3]. Se ejecuta [WampServer],
  • en [4], el ícono de [WampServer] se instala en la barra de tareas, en la parte inferior derecha de la pantalla [4],
  • al hacer clic en él, se muestra el menú [5]. Este permite administrar el servidor Apache y el SGBD MySQL. Para administrar este último, se utiliza la opción [PhpPmyAdmin],
  • lo cual abre la ventana que se muestra a continuación,

Image

No daremos muchos detalles sobre el uso de [PhpMyAdmin]. En el párrafo 6.4.2 mostramos cómo utilizarlo para crear una base de datos a partir de un script SQL.