Diferencia entre revisiones de «Uso de Roo desde SpringSource Tool Suite»

De Dos Ideas.
Saltar a: navegación, buscar
(Blanqueada la página)
 
(No se muestran 6 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
== Introduccion ==
 
  
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.
 
 
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.
 
 
== Instalacion ==
 
 
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.
 
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.
 
 
== Creacion del proyecto ==
 
 
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias
 
 
<code>
 
mkdir Pizza
 
cd Pizza
 
roo
 
roo> project "--topLevelPackage com.springsource.roo.pizzaDosIdeas".
 
</code>
 
 
[[Archivo:crearProyectoRoo.jpg|600px]]
 
 
[[Archivo:crearProyectoRoo2.jpg|400px]]
 
 
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.
 
 
[[Archivo:rooShell.jpg|600px]]
 
 
== Ingreso de comandos ==
 
 
Ahora iremos ingresando comandos en el shell embebido de roo.
 
Notemos:
 
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.
 
* "~" es el shortcut para indicar el paquete base.
 
 
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war.
 
Los comandos a ingresar son:
 
 
<code>
 
 
// Definir persistencia de datos
 
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
 
 
// Definir modelo de datos
 
entity --class ~.domain.Cubierta --testAutomatically
 
field string --fieldName nombre --notNull --sizeMin 2
 
entity --class ~.domain.Base --testAutomatically
 
field string --fieldName nombre --notNull --sizeMin 2
 
entity --class ~.domain.Pizza --testAutomatically
 
field string --fieldName nombre --notNull --sizeMin 2
 
field number --fieldName precio --type java.lang.Float
 
field set --fieldName coberturas --element ~.domain.Cubierta
 
field reference --fieldName base --type ~.domain.Base
 
entity --class ~.domain.Pedido --testAutomatically
 
field string --fieldName nombre --notNull --sizeMin 2
 
field string --fieldName direccion --sizeMax 30
 
field number --fieldName importe --type java.lang.Float
 
field date --fieldName fechaEntrega --type java.util.Date
 
field set --fieldName pizzas --element ~.domain.Pizza
 
 
// Tests
 
perform tests
 
 
// Generacion de interfaz de usuario
 
controller all --package ~.web
 
 
// Genera el war de la aplicacion
 
perform package
 
 
</code>
 
 
== Desarrollo y sincronizacion ==
 
 
Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de roo que se actualizan todos los archivos de aspectos, los controllers y los jsp para agregar el nuevo atributo. Esta sincronización se da automáticamente al realizar el cambio.
 
 
== Ejecucion del proyecto ==
 
 
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:
 
 
[[Archivo:runOnServer.jpg|400px]]
 
 
[[Archivo:runOnServer2.jpg|400px]]
 
 
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza
 
 
== Volver a abrir el shell de roo ==
 
 
[[Archivo:abrirRooShell.jpg]]
 

Revisión actual del 14:57 15 jul 2010