Introducción a Spring ROO.
Productividad extrema en 10 minutos.
Javier Onsurbe González
IntroduciendoROO
2
Que es ROO?
 ROO es una herramienta para el desarrollo rápido de
aplicaciones.
 ROO es para el moment...
IntroduciendoROO
3
Visión General
INTRODUCIENDO SPRING ROO
IntroduciendoROO
4
Fácil de aprender y usar
 Gran usabilidad.
 Comandos “hint” y “help” para guiarte.
 Ayudas de tabula...
IntroduciendoROO
5
Librerías familiares
Roo esta basado en todas las librerías y herramientas que ya
conocemos las cuales ...
IntroduciendoROO
6
Generación activa
INTRODUCIENDO SPRING ROO
IntroduciendoROO
7
Que nos proporciona
 Gestión del proyecto
 Objetos generales
 Soporte de entidades
 Gestión de camp...
IntroduciendoROO
8
Gestión del proyecto
 Comandos
 “project”, crea un nuevo proyecto en el directorio actual.
 “depende...
IntroduciendoROO
9
Objetos Generales
 Anotaciones ROO que se ajusta para cualquier clase
 @ROOJavaBean, getters y setter...
IntroduciendoROO
10
Soporte de entidades
 “entity” crea una @ROOEntity
 Proporciona una entidad flexible y rica en carac...
IntroduciendoROO
11
Gestión de campos
 Comandos “field” con las mayoría de los tipos importantes
 Los comandos de campos...
IntroduciendoROO
12
Testeo con JUnit
 “test integration” Test de integración de JUnit
 Característica automática de “dat...
IntroduciendoROO
13
Buscadores dinamicos
 Te evitan de tener que escribir búsquedas JPA QL
 ROO las escribe por ti.
 Lo...
IntroduciendoROO
14
Spring MVC
 “controller scaffold”, un controlador automático
 Controlador “REST” para una entidad da...
IntroduciendoROO
15
Pila web
 Spring js, Tiles y reescritura de Url’s automática
 “selenium test”, test para el controla...
IntroduciendoROO
16
Mensajeria: SMTP y JMS
 “email sender setup” configura el correo de salida con Spring
Java Mail.
 “e...
IntroduciendoROO
17
Integración con el sistema de construcción
 Opciones de construcción surtidas
 “perform clean” ejecu...
IntroduciendoROO
18
Cajón de sastre
 “security setup” configura Spring Security
 “logging setup” configura el Log4j
 “s...
IntroduciendoROO
19
Persistencia
 “persistence setup”
 Usa “--provider” para seleccionar Hibernate, OpenJpa o
EclipseLin...
IntroduciendoROO
20
Quitar ROO
 Usando push-in refactoring de AJDT, esto moverá todos el
contenido de los aspectos a los ...
IntroduciendoROO
21
Javier Onsurbe Gónzalez
javier_onsurbe@yahoo.es
Calle Telémaco, 9 5º-A
Torreón de Ardoz (Madrid)
http:...
Upcoming SlideShare
Loading in …5
×

Presentacion Spring Roo Java Mania

2,125 views
2,025 views

Published on

Presentación de Spring ROO basada en la original del equipo de Spring Source

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,125
On SlideShare
0
From Embeds
0
Number of Embeds
365
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentacion Spring Roo Java Mania

  1. 1. Introducción a Spring ROO. Productividad extrema en 10 minutos. Javier Onsurbe González
  2. 2. IntroduciendoROO 2 Que es ROO?  ROO es una herramienta para el desarrollo rápido de aplicaciones.  ROO es para el momento de desarrollo no es necesaria para la ejecución de la aplicación. INTRODUCIENDO SPRING ROO
  3. 3. IntroduciendoROO 3 Visión General INTRODUCIENDO SPRING ROO
  4. 4. IntroduciendoROO 4 Fácil de aprender y usar  Gran usabilidad.  Comandos “hint” y “help” para guiarte.  Ayudas de tabulación para acercarte a todo.  Ocultación de comandos y conciencia de contexto automática.  Si cometes un error, Roo te permite deshacer los cambios.  Permite la ejecución basada en scripts.  ROO actúa de manera previsible y conservadora en todos los casos. INTRODUCIENDO SPRING ROO
  5. 5. IntroduciendoROO 5 Librerías familiares Roo esta basado en todas las librerías y herramientas que ya conocemos las cuales son maduras, probadas y populares:  Java.  Spring Framework.  Java Persistence API.  Java Server Pages.  Spring Security.  Spring Web Flow.  Log4j, Maven 2, Aspectj, Eclipse/STS… INTRODUCIENDO SPRING ROO
  6. 6. IntroduciendoROO 6 Generación activa INTRODUCIENDO SPRING ROO
  7. 7. IntroduciendoROO 7 Que nos proporciona  Gestión del proyecto  Objetos generales  Soporte de entidades  Gestión de campos  Persistencia  Testeo JUnit  Búsquedas dinámicas  Spring MVC, Spring Web Flow y Selenium  JMS, SMTP y integración con el sistema de construcción.  Spring Security, configuración de logs… INTRODUCIENDO SPRING ROO
  8. 8. IntroduciendoROO 8 Gestión del proyecto  Comandos  “project”, crea un nuevo proyecto en el directorio actual.  “dependency add” añade una dependencia a nuestro pom.  “dependency remove” quita una dependencia de nuestro pom.  “backup” crea un zip de nuestro proyecto.  Todas las dependencias usan el repositorio de paquetes enterprise  Versiones que cumplen los criterios de calidad y son compatibles con OSGi INTRODUCIENDO SPRING ROO
  9. 9. IntroduciendoROO 9 Objetos Generales  Anotaciones ROO que se ajusta para cualquier clase  @ROOJavaBean, getters y setters automaticos.  @ROOConfigurable, Añade el Spring @Configurable.  @ROOToString, vete a saber que hace esta ;-).  ROO mantendrá automáticamente el código por ti  ROO no te aparta de tu camino  El se sitúa en segundo plano y escribe el código que tu no escribes.  No tienes que “decirle” que deje de hacer algo.  No hace falta que uses el shell de ROO. INTRODUCIENDO SPRING ROO
  10. 10. IntroduciendoROO 10 Soporte de entidades  “entity” crea una @ROOEntity  Proporciona una entidad flexible y rica en caracteristicas.  Declara una entidad JPA con id, version, EntityManager y el constructor por defecto.  Automáticamente añade métodos count, findAll, findById, findEntries, persist, remove, merge, flush a la entidad.  El comando acepta un montón de directivas opcionales  Si necesitas un test de integración.  Nombre de la tabla, nombre de la columna del id, etc. INTRODUCIENDO SPRING ROO
  11. 11. IntroduciendoROO 11 Gestión de campos  Comandos “field” con las mayoría de los tipos importantes  Los comandos de campos tienen opciones para  Anotaciones especificas de JPA (--fetch, --column, etc).  Anotaciones de validación (--max, etc).  Modificadores java (--primitive, --transient, etc).  El shell recuerda la ultima entidad con la que has trabajado  Los campos son automáticamente añadidos a esa entidad, con lo que te evitas el uso de --class INTRODUCIENDO SPRING ROO
  12. 12. IntroduciendoROO 12 Testeo con JUnit  “test integration” Test de integración de JUnit  Característica automática de “datos bajo demanda” para proporcionar datos.  Esto es implícito con “entity --testAutomatically”  “test mock” Test con mocks de JUnit  “dod” crea una clase para datos bajo demanda  Raramente se usa directamente, se crea si un test lo requiere INTRODUCIENDO SPRING ROO
  13. 13. IntroduciendoROO 13 Buscadores dinamicos  Te evitan de tener que escribir búsquedas JPA QL  ROO las escribe por ti.  Los buscadores son añadidos como métodos estáticos en las entidades  Son compatibles con clases abstractas.  “finder list” te indica todos los buscadores disponibles.  “finder add” habilita un buscador especifico. INTRODUCIENDO SPRING ROO
  14. 14. IntroduciendoROO 14 Spring MVC  “controller scaffold”, un controlador automático  Controlador “REST” para una entidad dada.  Creación automática de JSP y mantenimiento.  CRUD  “controller all” controladores automáticos para todas las entidades  “controller class” stub para un controlador manual  Solo el controlador, tu escribes el resto. INTRODUCIENDO SPRING ROO
  15. 15. IntroduciendoROO 15 Pila web  Spring js, Tiles y reescritura de Url’s automática  “selenium test”, test para el controlador indicado (scaffold)  Arranca tomcat con “mvn tomcat:run”  Lanza el test con mvn selenium:selenese  “webflow”, crea un flujo con Spring Web Flow INTRODUCIENDO SPRING ROO
  16. 16. IntroduciendoROO 16 Mensajeria: SMTP y JMS  “email sender setup” configura el correo de salida con Spring Java Mail.  “email template setup” Crea una plantilla para un SimpleMailMessage  “jms setup” configura el soporte de jms.  “jms listener” crea una clase la cual es un consumidor asíncrono de JMS INTRODUCIENDO SPRING ROO
  17. 17. IntroduciendoROO 17 Integración con el sistema de construcción  Opciones de construcción surtidas  “perform clean” ejecuta “mvn clean eclipse:clean”  “perform eclipse” ejecuta “mvn eclipse:eclipse”  “perform test” ejecuta “mvn test”  “perform package” ejecuta “mvn package”  “perform command” mvn personalizado  Tienes que tener Maven 2 configurado y el path  A menudo usados al final de los ficheros de script  Verificar el éxito.  Generar los fichero de eclipse para poder continuar el trabajo INTRODUCIENDO SPRING ROO
  18. 18. IntroduciendoROO 18 Cajón de sastre  “security setup” configura Spring Security  “logging setup” configura el Log4j  “script” ejecuta un script INTRODUCIENDO SPRING ROO
  19. 19. IntroduciendoROO 19 Persistencia  “persistence setup”  Usa “--provider” para seleccionar Hibernate, OpenJpa o EclipseLink  Usa “--database” para la mayoría de las bases de datos  Comandos relacionados  “database properties list” lista de las propiedades del JDBC  “database properties set” Cambia las propiedades del JDBC  “database properties remove” borra las propiedades del JDBC  Puedes ejecutar el “persistence setup” en cualquier momento  P.e.- para cambiar de proveedor de JPA. INTRODUCIENDO SPRING ROO
  20. 20. IntroduciendoROO 20 Quitar ROO  Usando push-in refactoring de AJDT, esto moverá todos el contenido de los aspectos a los .java correspondientes.  Eliminando los jar de las anotaciones ROO de tus pom.  Borrando las anotaciones @ROO* de ficheros .java. INTRODUCIENDO SPRING ROO
  21. 21. IntroduciendoROO 21 Javier Onsurbe Gónzalez javier_onsurbe@yahoo.es Calle Telémaco, 9 5º-A Torreón de Ardoz (Madrid) http://unpocodejava.wordpress.com/

×