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