tics en la vida cotidiana prepa en linea modulo 1.pptx
Presentacion Spring Roo Java Mania
1. Introducción a Spring ROO.
Productividad extrema en 10 minutos.
Javier Onsurbe González
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
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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. IntroduciendoROO
18
Cajón de sastre
“security setup” configura Spring Security
“logging setup” configura el Log4j
“script” ejecuta un script
INTRODUCIENDO SPRING ROO
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. 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