SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Introducción a Spring ROO.



       Productividad extrema en 10 minutos.




Javier Onsurbe González
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
INTRODUCIENDO SPRING ROO

Visión General




                           Introduciendo ROO
                              3
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
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
INTRODUCIENDO SPRING ROO

Generación activa




                           Introduciendo ROO
                              6
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
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
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
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
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
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
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
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
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
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
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
INTRODUCIENDO SPRING ROO

Cajón de sastre



   “security setup” configura Spring Security

   “logging setup” configura el Log4j

   “script” ejecuta un script




                                                 Introduciendo ROO
                                                    18
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
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
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

Más contenido relacionado

Similar a Presentacion Spring Roo Java Mania

Similar a Presentacion Spring Roo Java Mania (20)

Introducción a Spring Roo
Introducción a Spring RooIntroducción a Spring Roo
Introducción a Spring Roo
 
spring framework
spring frameworkspring framework
spring framework
 
Introducción Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Framework
 
Python django
Python djangoPython django
Python django
 
Trabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yennyTrabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yenny
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Diapositivas de JAVA
Diapositivas de JAVADiapositivas de JAVA
Diapositivas de JAVA
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Spring on Flash Platform
Spring on Flash PlatformSpring on Flash Platform
Spring on Flash Platform
 
Introducción a Spring framework
Introducción a Spring frameworkIntroducción a Spring framework
Introducción a Spring framework
 
Manual tecnico umasoft
Manual tecnico umasoftManual tecnico umasoft
Manual tecnico umasoft
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
spring
springspring
spring
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Clase n°1 java
Clase n°1 javaClase n°1 java
Clase n°1 java
 
Clasen1java
Clasen1javaClasen1java
Clasen1java
 
Spring orm
Spring ormSpring orm
Spring orm
 
Java
JavaJava
Java
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 

Último (20)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 

Presentacion Spring Roo Java Mania

  • 1. Introducción a Spring ROO. Productividad extrema en 10 minutos. Javier Onsurbe González
  • 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. INTRODUCIENDO SPRING ROO Visión General Introduciendo ROO 3
  • 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. 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. INTRODUCIENDO SPRING ROO Generación activa Introduciendo ROO 6
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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