|
|
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 [http://www.dosideas.com/wiki/Spring_Roo Roo] como, por ejemplo, el shell de [http://www.dosideas.com/wiki/Spring_Roo Roo] embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando [http://www.dosideas.com/wiki/Spring_Roo 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 [http://www.dosideas.com/wiki/Spring_Roo Roo] embebido.
| |
− |
| |
− | [[Archivo:rooShell.jpg|600px]]
| |
− |
| |
− | == Ingreso de comandos ==
| |
− |
| |
− | Ahora iremos ingresando comandos en el shell embebido de [http://www.dosideas.com/wiki/Spring_Roo 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 los comandos en el shell, 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>
| |
− |
| |
− | Con los comandos en un archivo, se pueden ejecutar como script desde la consola Roo Shell de STS:
| |
− |
| |
− | <code>
| |
− | script --file "C:\proyectoPizzaDosIdeas.roo"
| |
− | </code>
| |
− |
| |
− | == Desarrollo y sincronizacion ==
| |
− |
| |
− | Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de [http://www.dosideas.com/wiki/Spring_Roo Roo]corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de [http://www.dosideas.com/wiki/Spring_Roo 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 guardar los cambios.
| |
− |
| |
− | == 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|400px]]
| |