Ejemplo de proyecto web ABM con SpringSource Tool Suite

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

SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Spring Roo como, por ejemplo, el shell de Spring Roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando Spring Roo.

Vamos a realizar el Ejemplo de proyecto web ABM con Spring Roo utilizando STS.

Instalacion

Sólo se debe 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

mkdir Pizza cd Pizza roo roo> project "--topLevelPackage com.springsource.roo.pizzaDosIdeas".

CrearProyectoRoo.jpg

CrearProyectoRoo2.jpg

Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de Roo embebido.

RooShell.jpg

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 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:

// 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

Con los comandos en un archivo, se pueden ejecutar como script desde la consola Roo Shell de STS:

script --file "C:\proyectoPizzaDosIdeas.roo"

Desarrollo y sincronizacion

Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de Spring Roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de Spring 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:

RunOnServer.jpg

RunOnServer2.jpg

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

AbrirRooShell.jpg

Ver tambien