SlideShare a Scribd company logo
1 of 27
Download to read offline
Spring
                                        Roo




Massimiliano Dessì, Pronetics S.p.A.            1
Speaker
Software Engineer and Architect                      ProNetics
Founder                               Spring Italian User Group
Presidente                                 JugSardegna Onlus
Committer/Contributor                   OpenNMS – MongoDB
Autore               Spring 2.5 Aspect Oriented programming




Massimiliano Dessì, Pronetics S.p.a                        2
Agenda
   Kanga Roo In Action
              30 minutes
(10 to build 20 to describe)


less than one SBK manche
     in Phillip Island Circuit.
              Troy Bayliss

  Massimiliano Dessì, Pronetics S.p.a       3
Mission

                        ROO migliora la produttività
dello Sviluppo Java senza nessun compromesso
                           sulla qualità e flessibilità.
             Per l’utente finale è un piccolo genio
       che lavora in silenzio sulle cose di cui non
                           vorremmo preoccuparci


Massimiliano Dessì, Pronetics S.p.a                            4
Demo



                           10 minuti con Roo valgono
                           più di alcuni giorni di lavoro




Massimiliano Dessì, Pronetics S.p.a                           5
Roo
   Roo is an extensible, text-based RAD tool for Java
      Roo is development-time only (no Roo runtime)
    ____ ____ ____
   / __ / __ / __ 
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|____/____/    1.0.0.RC3 [rev 401]
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
roo>




   Massimiliano Dessì, Pronetics S.p.a                                            6
Comandi
         Roo semplifica la creazione di un progetto
                                 assistendo l’utente
     – hint e help aiutano nei vari passi richiesti
                    – TAB completamento ovunque
                              – Comandi contestuali
      – In caso di errore ROO permette il rollback.
       – Comandi “scriptabili” per poterli riprodurre
        – Funzionamento conservativo e predittivo
Massimiliano Dessì, Pronetics S.p.a                         7
Stack
                                      Roo è costruito su:
                                            Java
                                  Spring Framework
                  Java Persistence API (Hibernate)
                                  Java Server Pages
                                       Spring Security
                                      Spring Web Flow
              Log4J, Maven, AspectJ, Eclipse/STS
Massimiliano Dessì, Pronetics S.p.a                           8
Code generation
         Roo è un generatore di codice ibrido
  – utilizza in meglio del modello di generazione
                   passivo e attivo
Generazione passiva
   – Utilizzo della Roo shell per generare qualcosa
             (solitamente files .xml e .java)

Generazione attiva
– Costruzione di metadati con le annotazioni @Roo*
   – Aggiornamento incrementale di file .aj, .jsp
 Massimiliano Dessì, Pronetics S.p.a               9
Out of the Box
•     Gestione progetto
•     Oggetti generici
•     Entity
•     Gestione campi
•     Persistenza
•     JUnit test
•     Finder dinamici
•     Spring MVC, Spring Web Flow, Selenium
•     JMS, SMTP
•     Build system integration (Maven)
•     Spring Security, Bundlor, Logging
     Massimiliano Dessì, Pronetics S.p.a              10
Project management

                                      project
                                  dependency add
                                 dependency remove
                                      backup

Tutte le dipendenze usano Enterprise Bundle Repo
                        Versionati, OSGi-compatible


Massimiliano Dessì, Pronetics S.p.a                     11
Oggetti generici


             – @RooJavaBean – getters e setters

              – @RooConfigurable – aggiunge
                       @Configurable

                                 – @RooToString




Massimiliano Dessì, Pronetics S.p.a                       12
Entity
                                         entity

                                       - @RooEntity

                             - JPA entity feature-rich

      –JPA @Entity con id, version, EntityManager

– Automaticamente aggiunge count, findAll, findById,
            findEntries, persiste, rimuove

             -Comando con molte direttive opzionali
 Massimiliano Dessì, Pronetics S.p.a                        13
Gestione campi
                                           field

                             Scelta tra i tipi “comuni”

 La shell ricorda l’ultima entity su cui si è lavorato

                                       Opzioni per:

                                  – JPA annotations

                 – JavaBean validation annotations

                                      – Java modifiers
Massimiliano Dessì, Pronetics S.p.a                              14
Persistenza
                  Hibernate, OpenJPA, EclipseLink

                                database più comuni

           persistence exception translation

                       database properties list

                         database properties set

                     database properties remove

Massimiliano Dessì, Pronetics S.p.a                           15
JUnit test



                                  test integration

                                      test mock




Massimiliano Dessì, Pronetics S.p.a                         16
Finder dinamici

     Roo evita la scrittura di JPA Query language
      findersAggiunti come metodi statici alle entity

                                      finder list

                                      finder add




Massimiliano Dessì, Pronetics S.p.a                             17
MVC
                              controller scaffold

           – Automatic REST controller per una entity
           – Automatic JSP creazione e manutenzione
          –modifica dei metodi permessi (CRUD subset)

                                      controller all
                                Scaffold di tutte le entity

                             controller class
                         Solo il Controller nudo e crudo
Massimiliano Dessì, Pronetics S.p.a                            18
MVC

                         Spring JS, Tiles e URL Rewrite



                                      selenium test



                                         webflow



Massimiliano Dessì, Pronetics S.p.a                        19
Smtp e JMS

                               email sender setup

                                        field email

                                         jms setup

                                      field jms setup

                               jms listener class



Massimiliano Dessì, Pronetics S.p.a                            20
Build System Integration


 perform clean -> mvn clean eclipse:clean”

     perform eclipse -> mvn eclipse:eclipse

                      perform tests -> mvn test

               perform package -> mvn package

      perform command -> custom mvn command


Massimiliano Dessì, Pronetics S.p.a                        21
Varie


             security setup imposta spring security

           bundlor setup imposta Bundlor per OSGi

                        logging setup imposta log4j

                            script esegue uno script

      perform command -> custom mvn command


Massimiliano Dessì, Pronetics S.p.a                      22
Add-On
         Si possono creare degli addon, i comandi

                                      predefiniti sono:

                                       addon list

                                      addon install

                                addon uninstall
                                      addon cleanup

Massimiliano Dessì, Pronetics S.p.a                          23
Upgrade




Quando si aggiorna roo, possono cambiare i file .aj,
  che sono gli unici che l’utente non deve toccare
 perchè sono i responsabili della generazione attiva
                      del codice




 Massimiliano Dessì, Pronetics S.p.a           24
Remove


1) Nell’ STS utilizzare push-in refactoring, questa
    trasferisce il contenuto dei file .aj nei file .java

 2) Rimuovere I jar di ROO Annotation dal pom.xml

   3) Rimuovere le annotazioni @Roo dai file .java




 Massimiliano Dessì, Pronetics S.p.a               25
Database embedded




              Q&A?




Massimiliano Dessì, Pronetics S.p.a                 26
Grazie per l’attenzione !
                            Massimiliano Dessì
                           desmax74 at yahoo.it
                      massimiliano.dessi at pronetics.it

                                    http://twitter.com/desmax74
                                     http://jroller.com/desmax
                              http://www.linkedin.com/in/desmax74
                    http://wiki.java.net/bin/view/People/MassimilianoDessi
               http://www.jugsardegna.org/vqwiki/jsp/Wiki?MassimilianoDessi

                               Spring Framework Italian User Group
                     http://it.groups.yahoo.com/group/SpringFramework-it



Massimiliano Dessì, Pronetics S.p.a                                           27

More Related Content

Similar to Spring Roo JaxItalia09

Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebMassimiliano Dessì
 
Introduzione al Version Control (SVN)
Introduzione al Version Control (SVN)Introduzione al Version Control (SVN)
Introduzione al Version Control (SVN)Marcello Missiroli
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéEdmondo Porcu
 
Dynamic Language Programming For The Statically Typed Programmer
Dynamic Language Programming For The Statically Typed ProgrammerDynamic Language Programming For The Statically Typed Programmer
Dynamic Language Programming For The Statically Typed ProgrammerMarco Parenzan
 
Open Storage Tra Storia E Tecnologia Share
Open Storage Tra Storia E Tecnologia ShareOpen Storage Tra Storia E Tecnologia Share
Open Storage Tra Storia E Tecnologia ShareWalter Moriconi
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - TigerMatteo Baccan
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012VMEngine
 
Spring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationSpring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationMassimiliano Dessì
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
 
Comparazione Software produzione corsi elearning
Comparazione Software produzione corsi elearningComparazione Software produzione corsi elearning
Comparazione Software produzione corsi elearningFormaLms
 
JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5Marcello Teodori
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Fabio Mora
 
Adhearsion @ Ruby Social Club 3 Maggio 2012
Adhearsion @ Ruby Social Club 3 Maggio 2012Adhearsion @ Ruby Social Club 3 Maggio 2012
Adhearsion @ Ruby Social Club 3 Maggio 2012Luca Pradovera
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFondazione CUOA
 

Similar to Spring Roo JaxItalia09 (20)

Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis Web
 
Introduzione al Version Control (SVN)
Introduzione al Version Control (SVN)Introduzione al Version Control (SVN)
Introduzione al Version Control (SVN)
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perché
 
Dynamic Language Programming For The Statically Typed Programmer
Dynamic Language Programming For The Statically Typed ProgrammerDynamic Language Programming For The Statically Typed Programmer
Dynamic Language Programming For The Statically Typed Programmer
 
Open Storage Tra Storia E Tecnologia Share
Open Storage Tra Storia E Tecnologia ShareOpen Storage Tra Storia E Tecnologia Share
Open Storage Tra Storia E Tecnologia Share
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Maven Eclipse
Maven EclipseMaven Eclipse
Maven Eclipse
 
(Have a) rest with Laravel
(Have a) rest with Laravel(Have a) rest with Laravel
(Have a) rest with Laravel
 
(Have a) REST with Laravel
(Have a) REST with Laravel(Have a) REST with Laravel
(Have a) REST with Laravel
 
javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - Tiger
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012
 
Spring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationSpring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous Agitation
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
Java AWT
Java AWTJava AWT
Java AWT
 
Comparazione Software produzione corsi elearning
Comparazione Software produzione corsi elearningComparazione Software produzione corsi elearning
Comparazione Software produzione corsi elearning
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
 
Adhearsion @ Ruby Social Club 3 Maggio 2012
Adhearsion @ Ruby Social Club 3 Maggio 2012Adhearsion @ Ruby Social Club 3 Maggio 2012
Adhearsion @ Ruby Social Club 3 Maggio 2012
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a Services
 

More from Massimiliano Dessì

When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...Massimiliano Dessì
 
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Massimiliano Dessì
 
Dessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudDessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudMassimiliano Dessì
 
Web Marketing Training 2014 Community Online
Web Marketing Training 2014 Community OnlineWeb Marketing Training 2014 Community Online
Web Marketing Training 2014 Community OnlineMassimiliano Dessì
 
Vert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMVert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMMassimiliano Dessì
 
Reactive applications Linux Day 2013
Reactive applications Linux Day 2013Reactive applications Linux Day 2013
Reactive applications Linux Day 2013Massimiliano Dessì
 
Scala Italy 2013 extended Scalatra vs Spring MVC
Scala Italy 2013 extended Scalatra vs Spring MVCScala Italy 2013 extended Scalatra vs Spring MVC
Scala Italy 2013 extended Scalatra vs Spring MVCMassimiliano Dessì
 
Codemotion 2013 scalatra_play_spray
Codemotion 2013 scalatra_play_sprayCodemotion 2013 scalatra_play_spray
Codemotion 2013 scalatra_play_sprayMassimiliano Dessì
 
Why we cannot ignore functional programming
Why we cannot ignore functional programmingWhy we cannot ignore functional programming
Why we cannot ignore functional programmingMassimiliano Dessì
 
Three languages in thirty minutes
Three languages in thirty minutesThree languages in thirty minutes
Three languages in thirty minutesMassimiliano Dessì
 

More from Massimiliano Dessì (20)

Code One 2018 maven
Code One 2018   mavenCode One 2018   maven
Code One 2018 maven
 
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...
 
Hacking Maven Linux day 2017
Hacking Maven Linux day 2017Hacking Maven Linux day 2017
Hacking Maven Linux day 2017
 
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
 
Dessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudDessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloud
 
Docker dDessi november 2015
Docker dDessi november 2015Docker dDessi november 2015
Docker dDessi november 2015
 
Docker linuxday 2015
Docker linuxday 2015Docker linuxday 2015
Docker linuxday 2015
 
Openshift linuxday 2014
Openshift linuxday 2014Openshift linuxday 2014
Openshift linuxday 2014
 
Web Marketing Training 2014 Community Online
Web Marketing Training 2014 Community OnlineWeb Marketing Training 2014 Community Online
Web Marketing Training 2014 Community Online
 
Vert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMVert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVM
 
Reactive applications Linux Day 2013
Reactive applications Linux Day 2013Reactive applications Linux Day 2013
Reactive applications Linux Day 2013
 
Scala Italy 2013 extended Scalatra vs Spring MVC
Scala Italy 2013 extended Scalatra vs Spring MVCScala Italy 2013 extended Scalatra vs Spring MVC
Scala Italy 2013 extended Scalatra vs Spring MVC
 
Codemotion 2013 scalatra_play_spray
Codemotion 2013 scalatra_play_sprayCodemotion 2013 scalatra_play_spray
Codemotion 2013 scalatra_play_spray
 
Why we cannot ignore functional programming
Why we cannot ignore functional programmingWhy we cannot ignore functional programming
Why we cannot ignore functional programming
 
Scala linux day 2012
Scala linux day 2012 Scala linux day 2012
Scala linux day 2012
 
Three languages in thirty minutes
Three languages in thirty minutesThree languages in thirty minutes
Three languages in thirty minutes
 
MongoDB dessi-codemotion
MongoDB dessi-codemotionMongoDB dessi-codemotion
MongoDB dessi-codemotion
 
MongoDB Webtech conference 2010
MongoDB Webtech conference 2010MongoDB Webtech conference 2010
MongoDB Webtech conference 2010
 
RESTEasy
RESTEasyRESTEasy
RESTEasy
 
Spring Roo Internals Javaday IV
Spring Roo Internals Javaday IVSpring Roo Internals Javaday IV
Spring Roo Internals Javaday IV
 

Spring Roo JaxItalia09

  • 1. Spring Roo Massimiliano Dessì, Pronetics S.p.A. 1
  • 2. Speaker Software Engineer and Architect ProNetics Founder Spring Italian User Group Presidente JugSardegna Onlus Committer/Contributor OpenNMS – MongoDB Autore Spring 2.5 Aspect Oriented programming Massimiliano Dessì, Pronetics S.p.a 2
  • 3. Agenda Kanga Roo In Action 30 minutes (10 to build 20 to describe) less than one SBK manche in Phillip Island Circuit. Troy Bayliss Massimiliano Dessì, Pronetics S.p.a 3
  • 4. Mission ROO migliora la produttività dello Sviluppo Java senza nessun compromesso sulla qualità e flessibilità. Per l’utente finale è un piccolo genio che lavora in silenzio sulle cose di cui non vorremmo preoccuparci Massimiliano Dessì, Pronetics S.p.a 4
  • 5. Demo 10 minuti con Roo valgono più di alcuni giorni di lavoro Massimiliano Dessì, Pronetics S.p.a 5
  • 6. Roo Roo is an extensible, text-based RAD tool for Java Roo is development-time only (no Roo runtime) ____ ____ ____ / __ / __ / __ / /_/ / / / / / / / / _, _/ /_/ / /_/ / /_/ |_|____/____/ 1.0.0.RC3 [rev 401] Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER. roo> Massimiliano Dessì, Pronetics S.p.a 6
  • 7. Comandi Roo semplifica la creazione di un progetto assistendo l’utente – hint e help aiutano nei vari passi richiesti – TAB completamento ovunque – Comandi contestuali – In caso di errore ROO permette il rollback. – Comandi “scriptabili” per poterli riprodurre – Funzionamento conservativo e predittivo Massimiliano Dessì, Pronetics S.p.a 7
  • 8. Stack Roo è costruito su: Java Spring Framework Java Persistence API (Hibernate) Java Server Pages Spring Security Spring Web Flow Log4J, Maven, AspectJ, Eclipse/STS Massimiliano Dessì, Pronetics S.p.a 8
  • 9. Code generation Roo è un generatore di codice ibrido – utilizza in meglio del modello di generazione passivo e attivo Generazione passiva – Utilizzo della Roo shell per generare qualcosa (solitamente files .xml e .java) Generazione attiva – Costruzione di metadati con le annotazioni @Roo* – Aggiornamento incrementale di file .aj, .jsp Massimiliano Dessì, Pronetics S.p.a 9
  • 10. Out of the Box •  Gestione progetto •  Oggetti generici •  Entity •  Gestione campi •  Persistenza •  JUnit test •  Finder dinamici •  Spring MVC, Spring Web Flow, Selenium •  JMS, SMTP •  Build system integration (Maven) •  Spring Security, Bundlor, Logging Massimiliano Dessì, Pronetics S.p.a 10
  • 11. Project management project dependency add dependency remove backup Tutte le dipendenze usano Enterprise Bundle Repo Versionati, OSGi-compatible Massimiliano Dessì, Pronetics S.p.a 11
  • 12. Oggetti generici – @RooJavaBean – getters e setters – @RooConfigurable – aggiunge @Configurable – @RooToString Massimiliano Dessì, Pronetics S.p.a 12
  • 13. Entity entity - @RooEntity - JPA entity feature-rich –JPA @Entity con id, version, EntityManager – Automaticamente aggiunge count, findAll, findById, findEntries, persiste, rimuove -Comando con molte direttive opzionali Massimiliano Dessì, Pronetics S.p.a 13
  • 14. Gestione campi field Scelta tra i tipi “comuni” La shell ricorda l’ultima entity su cui si è lavorato Opzioni per: – JPA annotations – JavaBean validation annotations – Java modifiers Massimiliano Dessì, Pronetics S.p.a 14
  • 15. Persistenza Hibernate, OpenJPA, EclipseLink database più comuni persistence exception translation database properties list database properties set database properties remove Massimiliano Dessì, Pronetics S.p.a 15
  • 16. JUnit test test integration test mock Massimiliano Dessì, Pronetics S.p.a 16
  • 17. Finder dinamici Roo evita la scrittura di JPA Query language findersAggiunti come metodi statici alle entity finder list finder add Massimiliano Dessì, Pronetics S.p.a 17
  • 18. MVC controller scaffold – Automatic REST controller per una entity – Automatic JSP creazione e manutenzione –modifica dei metodi permessi (CRUD subset) controller all Scaffold di tutte le entity controller class Solo il Controller nudo e crudo Massimiliano Dessì, Pronetics S.p.a 18
  • 19. MVC Spring JS, Tiles e URL Rewrite selenium test webflow Massimiliano Dessì, Pronetics S.p.a 19
  • 20. Smtp e JMS email sender setup field email jms setup field jms setup jms listener class Massimiliano Dessì, Pronetics S.p.a 20
  • 21. Build System Integration perform clean -> mvn clean eclipse:clean” perform eclipse -> mvn eclipse:eclipse perform tests -> mvn test perform package -> mvn package perform command -> custom mvn command Massimiliano Dessì, Pronetics S.p.a 21
  • 22. Varie security setup imposta spring security bundlor setup imposta Bundlor per OSGi logging setup imposta log4j script esegue uno script perform command -> custom mvn command Massimiliano Dessì, Pronetics S.p.a 22
  • 23. Add-On Si possono creare degli addon, i comandi predefiniti sono: addon list addon install addon uninstall addon cleanup Massimiliano Dessì, Pronetics S.p.a 23
  • 24. Upgrade Quando si aggiorna roo, possono cambiare i file .aj, che sono gli unici che l’utente non deve toccare perchè sono i responsabili della generazione attiva del codice Massimiliano Dessì, Pronetics S.p.a 24
  • 25. Remove 1) Nell’ STS utilizzare push-in refactoring, questa trasferisce il contenuto dei file .aj nei file .java 2) Rimuovere I jar di ROO Annotation dal pom.xml 3) Rimuovere le annotazioni @Roo dai file .java Massimiliano Dessì, Pronetics S.p.a 25
  • 26. Database embedded Q&A? Massimiliano Dessì, Pronetics S.p.a 26
  • 27. Grazie per l’attenzione ! Massimiliano Dessì desmax74 at yahoo.it massimiliano.dessi at pronetics.it http://twitter.com/desmax74 http://jroller.com/desmax http://www.linkedin.com/in/desmax74 http://wiki.java.net/bin/view/People/MassimilianoDessi http://www.jugsardegna.org/vqwiki/jsp/Wiki?MassimilianoDessi Spring Framework Italian User Group http://it.groups.yahoo.com/group/SpringFramework-it Massimiliano Dessì, Pronetics S.p.a 27