Presentacion Spring Roo Java Mania

966 views
924 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
966
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
22
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. INTRODUCIENDO SPRING ROO 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 ROO 2
  3. 3. INTRODUCIENDO SPRING ROO Visión General Introduciendo ROO 3
  4. 4. INTRODUCIENDO SPRING ROO 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 ROO 4
  5. 5. INTRODUCIENDO SPRING ROO 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 ROO 5
  6. 6. INTRODUCIENDO SPRING ROO Generación activa Introduciendo ROO 6
  7. 7. INTRODUCIENDO SPRING ROO 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 ROO 7
  8. 8. INTRODUCIENDO SPRING ROO 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 ROO 8
  9. 9. INTRODUCIENDO SPRING ROO 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. Introduciendo ROO  No tienes que “decirle” que deje de hacer algo.  No hace falta que uses el shell de ROO. 9
  10. 10. INTRODUCIENDO SPRING ROO 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 ROO 10
  11. 11. INTRODUCIENDO SPRING ROO 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 ROO 11
  12. 12. INTRODUCIENDO SPRING ROO 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 ROO 12
  13. 13. INTRODUCIENDO SPRING ROO 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 ROO 13
  14. 14. INTRODUCIENDO SPRING ROO 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 ROO 14
  15. 15. INTRODUCIENDO SPRING ROO 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 ROO 15
  16. 16. INTRODUCIENDO SPRING ROO 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 ROO 16
  17. 17. INTRODUCIENDO SPRING ROO 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 Introduciendo ROO  Verificar el éxito.  Generar los fichero de eclipse para poder continuar el trabajo 17
  18. 18. INTRODUCIENDO SPRING ROO Cajón de sastre  “security setup” configura Spring Security  “logging setup” configura el Log4j  “script” ejecuta un script Introduciendo ROO 18
  19. 19. INTRODUCIENDO SPRING ROO 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  Introduciendo ROO Puedes ejecutar el “persistence setup” en cualquier momento  P.e.- para cambiar de proveedor de JPA. 19
  20. 20. INTRODUCIENDO SPRING ROO 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 ROO 20
  21. 21. Javier Onsurbe Gónzalez javier_onsurbe@yahoo.es Calle Telémaco, 9 5º-A Introduciendo ROO Torreón de Ardoz (Madrid) http://unpocodejava.wordpress.com/ 21

×