(la) Spring Roo gagne à être connue

Il y a des solutions, comme ça, qui tardent à trouver leur audience. Et j’ai bien l’impression que c’est le cas de Spring Roo. Pourtant, voilà un outil qui est malin (il intègre la crème des bonnes pratiques encouragées par Spring), souple (il s’appuie sur l’AOP et les meilleures abstractions de Spring, en particulier Spring Data), et qui sait se faire discret également (vous pouvez demander à Spring Roo de sortir du projet à n’importe quel moment).

En gros, il s’agit d’un framework qui va à la fois gérer la construction et le paramétrage de vos projets, tout en prenant en charge un ensemble de tâches fastidieuses de vos développements Java (comme l’implémentation des accesseurs et des fonctions #toString, #hashCode, etc). En fait, Spring Roo fait plus que de générer du code ; à chaque étape du projet, il propose une aide en ligne contextuelle qui va vous suggérer les actions à réaliser pour avancer. Et là, moi je dis youpi ! Vous pourrez donc, en ligne de commande (intégrée à STS pour ceux qui le veulent), indiquer quelles sont vos entités et leurs données, ainsi que leurs relations. Pour cela, Vous demanderez à Spring Roo d’incorporer les dépendances vers vos couches techniques. Ensuite, vous préciserez quels services vous souhaitez fournir, et leur protocole.

En fin de compte, Spring Roo pourra également générer pour vous, par exemple, les contrôleurs et les vues Spring MVC pour obtenir une interface CRUD prête à l’emploi. En plus elle sera belle, ce qui ne gâche rien ! Comment ? vous vouliez ajouter Spring Web Flow ? Qu’à cela ne tienne, il suffit de demander. Sans oublier de prendre en charge la sécurité, bien entendu Spring Security est supporté… Que demande le peuple ? Pardon ? Vous êtes “tatillon” ? Pas de problème, Spring Roo sait détecter vos modifications et il ne repassera pas derrière vous. On dit même qu’il est intelligent… Brrrrrrr !

Seulement voilà, il y a de grandes chances pour que vous ne connaissiez pas Spring Roo. Et c’est vraiment dommage, je trouve. Moi-même, avant, je ne connaissais pas Spring Roo. Et je ne connaissais pas SpringFuse non plus, d’ailleurs. Je savais, à la rigueur, me servir des archétypes Maven. C’était toujours ça, certes. Ça me permettait de sauver la face, disons.

Alors je codais tout à la main, et je perdais du temps à faire des choses pas drôles, ou à me creuser les méninges pour trouver comment intégrer les différentes briques de mes applications dans des environnements toujours différents. Je ne me concentrais pas sur le modèle et le code métier. Je n’étais pas non plus capable de sortir de mon chapeau une application exécutable en quelques jours, dont je pouvais ensuite me servir tout naturellement comme base de développement. Mes clients et utilisateurs étaient tristes aussi, du coup, parce qu’ils devaient attendre pour avoir une idée de ce que je faisais dans mon coin. Mais ça, c’était avant.

Faites moi(vous) plaisir, essayez Spring Roo…

Pour aller plus loin (et comprendre mieux) :
http://blog.axones.com/index.php/2012/02/14/spring-roo-developpez-en-roue-libre/
http://blog.valtech.fr/2010/09/23/tutoriel-spring-roo/
http://www.touilleur-express.fr/2010/09/09/spring-roo/
http://today.java.net/article/2012/06/19/spring-roo-and-webflow-ken-rimple-co-author-spring-roo-action