Spring Roo & Google Web Toolkit
Création d'un projet Roo
Installation
Roo est une application Java qui est entièrement autonome. Vous pouvez donc télécharger Roo sur le site de Spring.
Avant d'essayer d'installer Roo, il faut s'assurer d'avoir les paramètres suivants:
- Un Linux, Apple ou Windows (les autres systèmes d'exploitation peuvent fonctionner mais ne sont pas certifié par Spring)
- l'installation d'un Sun, IBM ou JRocket Java 5 ou Java 6, avec la variable d'environnement $ JAVA_HOME pointant vers l'installation
- installé Apache Maven 2.0.9 ou supérieur
Il est recommandé de toujours utiliser la dernière version de Java et de Maven qui sont disponibles pour votre plate-forme mais également d'utiliser SpringSource Tool Suite (STS), qui est l'IDE de Spring basé sur Eclipse qui comprend un certain nombre de caractéristiques qui rendent le travail encore plus facile.
Une fois que vous avez satisfait aux exigences initiales, vous pouvez installer Roo en procédant de la façon suivante:
- Décompressez le fichier ZIP d'installation Roo dans le répertoire de votre choix
- Si vous utilisez Windows, ajoutez ROO_HOME\bin à votre variable d'environnement %PATH%
- Si vous utilisez Linux ou Apple, créer un lien symbolique en utilisant une commande telle que sudo ln -s $ROO_HOME/bin/roo.sh /usr/bin/roo
SpringSource toolsuite
Le plus simple pour installer et utiliser Spring Roo est de télécharger SpringSource ToolSuite contenant le package SpringSource complet(Spring , Spring ROO, les serveurs etc…).
Créer un projet
Voici les commandes utiles pour la création/gestion de son projet Roo :
- « project » : crée un nouveau projet dans le repertoire courant.
- « dependency add/remove » : ajout/suppression de dépendances du POM
- « backup » : crée un zip du projet
Objets génériques
Roo utilise des annotations pour vérifier les contraintes mais aussi générer du code. Ci-dessous se trouve les trois principales annotations :
- @RooJavaBean
- @RooEntity
- @RooToString
Roo maintient le code de manière transparente. Par exemple si l'utilisateur enlève l'annotation @RooToString, le Roo shell supprime automatiquement l'implementation des méthodes toString.
Entités
La commande "entity" fournit une entité JPA
Cette entité JPA @Entity contient un id, une version, l’EntityManager et un constructeur sans argument.
Cette commande ajoute automatiquement les méthodes, findAll, findByld, findEntries, persist, remove, merge et flush dans les fichiers AspectJ
On remarque dans la capture ci-dessous que l'entity est crée ainsi que les AspectJ contenant les méthodes générées automatiquement

Attributs
La commande "field" fournit la plupart des types d’attributs.
Vous pouvez ajouter des options spécifiques :
- Annotations spécifiques JPA (--fletch, --column…)
- Utilisation des annotations JavaBeans (--max …)
- Java modifiers (--primitive …)
Voici une capture montrant ces possibilités :

Persistence
La commande « persistence setup » permet de spécifier le provider (Hibernate, OpenJPA, EclipseLink).
Utilisation de la commande –database pour les bases de données.
Commandes associées :
- “database properties list” : liste des propriétés JDBC
- “database properties set/ remove” : change les propriétés JDBC


Autres Commandes
Ils existent d'autres commandes, pour plus de détails vous pouvez vous référer à la documentation officiel de Spring Roo.
Vous pouvez même réaliser le tutoriel suivant : lien