presentacion spring roo java mania

21
Introducción a Spring ROO. Productividad extrema en 10 minutos. Javier Onsurbe González

Upload: javier-onsurbe

Post on 12-Jul-2015

894 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Presentacion Spring Roo Java Mania

Introducción a Spring ROO.

Productividad extrema en 10 minutos.

Javier Onsurbe González

Page 2: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 3: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

3

Visión GeneralINTRODUCIENDO SPRING ROO

Page 4: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 5: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 6: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

6

Generación activaINTRODUCIENDO SPRING ROO

Page 7: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 8: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 9: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 10: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 11: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 12: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

12

Testeo con JUnit

“test integration” Test de integración de JUnitCaracterí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 demandaRaramente se usa directamente, se crea si un test lo requiere

INTRODUCIENDO SPRING ROO

Page 13: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

13

Buscadores dinamicos

Te evitan de tener que escribir búsquedas JPA QLROO 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

Page 14: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

14

Spring MVC

“controller scaffold”, un controlador automáticoControlador “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

Page 15: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 16: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 17: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 18: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

18

Cajón de sastre

“security setup” configura Spring Security

“logging setup” configura el Log4j

“script” ejecuta un script

INTRODUCIENDO SPRING ROO

Page 19: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

19

Persistencia

“persistence setup” Usa “--provider” para seleccionar Hibernate, OpenJpa o

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

Page 20: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

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

Page 21: Presentacion Spring Roo Java Mania

Intr

oduc

iend

o R

OO

21

Javier Onsurbe Gónzalez [email protected]

Calle Telémaco, 9 5º-ATorreón de Ardoz (Madrid)http://unpocodejava.wordpress.com/