Curso Spring - Leccion 02 - Configuracion de Spring Framework
Dando saltos con Spring Roo
-
Upload
rafael-gutierrez -
Category
Technology
-
view
2.831 -
download
1
Transcript of Dando saltos con Spring Roo
![Page 1: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/1.jpg)
SPRING ROO: MEJORA TU PRODUCTIVIDAD DANDO SALTOS CON EL CANGURO
Rafael Antonio Gutiérrez Turullols@[email protected]://abaddon-gtz.blogspot.com
Septiembre 4, 2010, México, D.F
![Page 2: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/2.jpg)
Demo de Introducción Introducción Demos Desarrollo de Add-ons Demos Proyecto SpringHispano Add-ons
![Page 3: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/3.jpg)
![Page 4: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/4.jpg)
ES Herramienta RAD para Java (basada en texto) ES extensible ES para su uso es en tiempo de desarrollo ES un generador de código NO ES un plugin de algún IDE NO ES un software de administración de proyectos NO ES una herramienta para construir proyectos
![Page 5: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/5.jpg)
AspectJ Framework para programar orientado a aspectos (AOP). Spring Roo usa los Inter-Type Declaration (ITD) Genera *_Roo_*.aj
Spring Otros frameworks como: Spring Security y Spring Web
Flow. Aspectos de Spring: @Configurable y manejo de
transacciones Escaneo de componentes marcados con anotaciones
Spring.
![Page 6: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/6.jpg)
Alta productividad Fácil de aprender y usar
TAB, hint y help Herramientas estándar Java
JPA, Maven, JSP, Junit, Spring, … Sin compromisos Fácil de remover
![Page 7: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/7.jpg)
![Page 8: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/8.jpg)
Generador Pasivo Reacciona a instrucciones del usuario
Generador Activo Reacciona a cambios en el código
Es un generador de código hibrido PASIVO = Shell y comandos▪ Hace el cambio y nada mas (.xml y .java)
ACTIVO =Se activa sobre los .java marcados con @Roo*▪ Monitorea los cambios en el .java y actualiza .aj, .jsp
![Page 9: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/9.jpg)
![Page 10: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/10.jpg)
Típica Aplicación Web basada en Spring MVC Base de datos Persistencia vía JPA Pruebas unitarias con JUnit Maven para construir el proyecto Spring para la inyección de dependencias.
Google Web Toolkit, desde 1.1.0.M1 Add-on de Flex, desde la 1.1.0.M2 (se instala aparte) Capas:
Entidad (dominio) Web Servicios y DAO (no se generan pero se pueden incluir)
![Page 11: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/11.jpg)
![Page 12: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/12.jpg)
![Page 13: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/13.jpg)
Todos los comandos de Spring Roo son add-ons. Son los add-ons Base.
Comando para crear un proyecto tipo "add-on": project --topLevelPackage zzz.xxx.yyyy --template
ROO_ADDON_SIMPLE Desde la 1.1.0.M2 add-ons para crear add-ons:
addon create advanced addon create simple
![Page 14: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/14.jpg)
![Page 15: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/15.jpg)
![Page 16: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/16.jpg)
![Page 17: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/17.jpg)
El método que atiende la ejecución del comando puede: Tirar cualquier tipo de Exception para cancelar
la ejecución del comando y revertir (rollback) los cambios.
Usar el Logging del JDK o regresar objetos que se imprimiran en la consola.
![Page 18: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/18.jpg)
![Page 19: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/19.jpg)
Roo tiene los siguientes servicios (entre otros) a nuestra disposicion: org.sf.roo.process.manager.FileManager
▪ crear directorios/archivos, consultar los detalles de archivos, leer InputStreams.
org.sf.roo.project.PathResolver▪ información sobre los paths, resolver paths
org.sf.roo.project.ProjectOperations▪ acciones sobre el pom.xml
org.sf.roo.metadata.MetadataService org.sf.roo.classpath.operations.ClasspathOperations
![Page 20: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/20.jpg)
Comandos importantes: Instalar un addon:
felix shell start file://<ruta> Ver los add-ons instalados:
osgi ps desinstalr un addon:
osgi uninstall --bundleSymbolicName zzz.xxx.yyy actualizar un addon:
osgi update --bundleSymbolicName zzz.xxx.yyy
![Page 21: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/21.jpg)
![Page 22: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/22.jpg)
Refactor->Push-in con Eclipse
Buscar y reemplazar las anotaciones e imports en los Java Expresion regular = “\n.*Roo.*\n” Reemplazar con “\n”
Quitar las dependencias en el pom.xml
![Page 23: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/23.jpg)
![Page 24: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/24.jpg)
Con la comunidad y para la comunidad desarrollar add-ons de Spring Roo que nos ayuden a realizar nuestra labor diaria en la escuela y/o trabajo de
manera mas rápida y sencilla
![Page 25: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/25.jpg)
Test Data Builder Addon.
Auditable Fields Addon.
Copy Fields Addon.
SDL/Swing Addon.
Jersey Addon.
![Page 26: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/26.jpg)
Pagina: http://www.springsource.org/roo Foros: http://forum.springsource.org/forumdisplay.php?f=67 Twitter: @SpringRoo, @benalexu, @schmidtstefan Jira: http://jira.springframework.org/browse/ROO Repositorio Git: git clone git://git.springsource.org/roo/roo.git Libro (próximamente): Roo in Action de Manning,
@RooInAction Mi Blog: http://abaddon-gtz.blogspot.com (Etiqueta
'Spring Roo') SpringHispano Addons:
http://code.google.com/p/springhispano-addons/
![Page 27: Dando saltos con Spring Roo](https://reader034.fdocumento.com/reader034/viewer/2022052509/55a2564c1a28ab4c4f8b45ec/html5/thumbnails/27.jpg)