Roo: Pasos para crear una aplicación mínima

De Dos Ideas.
Saltar a: navegación, buscar

Un paso-a-paso para crear un primer proyecto con Spring Roo.

Creación del proyecto

 project --topLevelPackage  com.dosideas.helloroo
 

Elegir el framework de persistencia

Se puede elegir entre 3 frameworks y 8 bases de datos

Frameworks:

  • ECLIPSELINK
  • HIBERNATE
  • OPENJPA


Bases de datos:

  • DB2
  • H2_IN_MEMORY
  • HYPERSONIC_IN_MEMORY
  • HYPERSONIC_PERSISTENT
  • MSSQL
  • MYSQL
  • ORACLE
  • POSTGRES
  • SYBASE


Ej.:

 persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

NOTA: Por defecto, en persistence.xml el valor de la propiedad hibernate.hbm2ddl.auto es create (genera el esquema de datos con cada ejecucion). Deberá actualizarse esta propiedad al valor deseado.

Creación del modelo de dominio

Junto con la creación de la clase se puede elegir de crear los tests de componentes correspondientes.

 entity --class ~.domain.Client --testAutomatically

Este comando genera la clase Client.java con las siguientes anotacioes, basado en la programación orientada a aspectos (AspectJ):

@RooJavaBean: genera un aspecto para que le agrega a la entidad, en tiempo de compilacion, sus getters/setters y el constructor por defecto @RooToString: genera un aspecto para render en pantalla y formateo de calendario @RooEntity: genera un aspecto para agregar la lógica de persistencia: count, findAll, findById, findEntries, persist, remove, flush y merge

Por cada campo a agregar a la clase es necesario definir el tipo, el nombre y las restricciones que pueda tener.

 field string --fieldName name --notNull --sizeMax 24 --sizeMin 3
 field string --fieldName surname --notNull --sizeMin 3 --sizeMax 24
 field date --fieldName birthDate --type java.util.Date --notNull
 field boolean --fieldName active
 field number --fieldName numberOfKids --type java.lang.Integer --notNull  --max 99

Expresiones regulares

Existe un bug reportado que impide el uso de expresiones regulares, si bien teoricamente son soportadas por Roo.

Interfaz gráfica

Roo permite la creación de la interfaz gráfica web, que comprende de una alta, baja, modificación y listado. Se puede especificar de que objeto de negocio se requiere o bien crearla para todos.

 controller all --package ~.web

La herramienta genera paginas multi-lenguaje correctamente. La pluralización está correctamente soportada en inglés, por ejemplo en castellano hay algunos errores sintácticos.

Ver tambien