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

De Dos Ideas.
Revisión del 14:38 15 jul 2010 de 201.251.185.130 (discusión) (Ver tambien)
Saltar a: navegación, buscar

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

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

Ver tambien

Spring Roo