Se usará Java SE 14 para el desarrollo del curso (podés usar también el JDK 11 si ya lo tenés instalado). Te recomiendo usar los instaladores de AdoptOpenJDK:
El proyecto levanta automáticamente una base de datos en memoria (HSQLDB) y ejecuta el script schema.sql (src\main\resources\schema.sql) contra dicha base.
Por otro lado, los tests funcionan de la misma manera.
En resumen, no es necesario realizar ninguna otra configuración adicional para utilizar este proyecto.
Si querés utilizar otra base de datos para realizar pruebas (un MySQL por ejemplo), necesitás:
A continuación configuraremos el proyecto base que se usará durante este curso. Este proyecto tiene ya la estructura básica creada, y está pre-configurado para NetBeans IDE.
El proyecto se encuentra en el repositorio Git de Dos Ideas en GitLab.
Para descargarlo usando NetBeans seguir estos pasos:
https://gitlab.com/dosideas/java-con-spring-framework.git
Si por algún motivo no tenés acceso al repositorio Git, podés directamente descargar el ZIP del proyecto de ejemplo y descomprimirlo.
El proyecto está ya configurado para ser usado con NetBeans IDE.
Para esto, Ir al menú File > Open Project... y seleccionar el directorio dosideas-jee001-workshop.
Si estás usando otro IDE, el proyecto utiliza Maven para compilar, tenés que buscar el soporte adecuado para tu IDE.
Para comprobar que todo esté bien configurado, ejecutaremos los test.
El módulo dosideas-jee001-workshop Web App cuenta con clases de tests ya implementadas.
Los tests se ejecutan y se muestran los resultados en la solapa de Test. Deberían pasar todos los tests (barra en verde).
La ejecución de tests es simple y rápida. Se convertirá en una herramienta fundamental para el desarrollo JEE.
Con los tests unitarios no se requiere de la complejidad de un entorno para probar la lógica del método, y son de rápida ejecución.
Más aún, los tests permiten asegurar mantenibilidad y calidad: son un resguardo frente a los cambios. Al introducir un cambio en el código, es ahora muy simple ver si se cambió el comportamiento de los objetos, ya que de hacerlo los tests fallarán. Así se evitarán problemas de regresión (el famoso "arreglo 1, rompo 3").
Por último, los tests no aseguran que un cambio no producirá problemas, pero es un medio repetible y controlable para asegurar calidad: si un cambio introducido produce un fallo que no es detectado en los tests, esto indica que hay situaciones que no están siendo cubiertas por los tests. Será entonces cuestión de agregar dicha situación a los casos de test, con lo cual la cobertura del sistema se seguirá ampliando.
El desarrollo guiado por tests (Test-Driven Development, o TDD) apunta entonces a desarrollar sistemas con calidad, de forma profesional.
Comenzaremos realizando todas las tareas de configuración necesarias para tener un entorno correcto para realizar el curso. En esta etapa configuraremos el JDK, el IDE y armaremos el proyecto base para realizar el resto de las actividades.