Spring Roo 1.2.1 released

Spring Roo (kurz für KangaRoo) it ein System zur schnellen Entwicklung von Webapplikation in Java. Die Homepage ist hier: Link

Die neue Version unterstützt jetzt die aktuellen Versionen der Google-App-Engine (1.6.2) und  PrimeFaces 3.1.

Wer sich Spring Roo noch nicht angeschaut hat, sollte das dringend tun. Für Admin-Apps gibt es vermutlich keinen schnelleren Weg um zu ansehnlichen und benutzbaren Anwendungen zu kommen. Roo wird entweder über die Roo-Shell oder über die Integration in die STS (SpringSource Tool Suite) verwendet.

Was Roo so schnell und einfach macht ist zum einen das großartige Plugin-System, aber hauptsächlich die Tatsache, dass man mit Roo fast alle Bequemlichkeiten dynamischer Sprachen auch in reinem Java nutzen kann. Möglich wird das durch die intensive Nutzung aspektorientierter Programmierung (AspectJ), wordurch der Sourcecode sauber und gut lesbar bleibt während z.B. Finder für die Datenbank zur Compilezeit eingewoben werden.

Ein Beispiel für eine komplette Anwendung, die mit der Roo-Konsole erstellt wird. Quelle ist die Dokumentation hier: Link


roo> hint
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.Timer --testAutomatically
roo> field string --fieldName message --notNull
roo> hint web mvc
roo> web mvc setup
roo> web mvc all --package ~.web
roo> selenium test --controller ~.web.TimerController
roo> web gwt setup
roo> perform tests
roo> quit

"hint" ruft die eingebaute Hilfe auf. Mit "project" wird das Projekt mit dem Top Level Package "com.foo" erstellt. Mit dem Befehl "jpa" wird die Art der Datenbank und das verwendete Datenbanksystem eingestellt. "entitiy" erstellt eine Domain-Klasse, die mit automatischen constraint-tests erstellt wird. "field" erstellt ein Feld in eben dieser Klasse. "web mvc setup" richtet die automatische Erstellung der Benutzeroberfläche mit Spring MVC ein. "web mvc all" erstellt automatisch die Controller, "selenium" richtet automatische Selenium Tests ein und "web gwt setup" fügt zur klassischen Spring MVC Oberfläche noch eine GWT-Oberfläche ein.

Das Schöne ist, das Roo alle Änderungen an den Domain-Klassen automatisch in alle anderen Klassen überführt. Man muss also für eine einfache Oberfläche keinerlei eigene Änderungen an Controllern oder Views vornehmen.

Es gibt noch eine Menge mehr zu Roo zu sagen und die Dokumentation ist umfassend und gut organisiert.

Auf jeden Fall mal anschauen!

Share/Save