Despite all I\'ve read, I still can\'t figure out what Spring Roo actually is, and that\'s after reading the first chapter of Spring Roo In Action, What is
Spring Roo is a toolchain for rapid development of java application using all, some or none of those technologies:
If you have developped applications with Rails, you will find this application stack oddly familiar, but applied to the java language. Please note that ROO is not an abstraction layer for those technologies, it is an integration toolchain so that a lot of the boiler-plate is generated for you using some clever part of AspectJ and said technologies.
FYI, I have not affiliated with Spring ROO, I'm making a Proof-of-concept built around it.
Spring Roo is RAD tool which can create and manage your spring based application. Its aim is to enhance Java developer productivity. It can't write business logic of your application but can handle configurational and infrastructural stuff. for more google spring roo :)
Spring Roo is a relatively easy to use developer tool that makes it fast and easy to deliver instant results. It does not really require that you learn a new language or have to relearn Java; instead, it uses a command line to simply help the coding along by generating fairly large chunks of code with fairly minimal effort. The interface allows users to make programs with exceptional functionality considering the little amount of time put into them.
I think that chapter assumes some familiarity with the tools Roo is trying to automate. You probably might not appreciate the amount of "convention" being applied by Roo behind the scenes unless you have tried putting an app based on various Spring and other "enterprise" components together :)
Try following up the names of the various tools (especially Maven and AspectJ)
Funnily, the Ruby crowd seems to fawn over such "magic" happening behind the scenes, whereas some Java folks are like "Convention over configuration are for sissy's, arrrh, I like to build my apps one xml file at time" ;)
I liked Ben Alex's talk where he introduced the thoughts behind Roo. Check it out if you have some time.
You can learn more about Spring Roo and use extra functionalities that roo doesn't implements using gvNIX framework.
https://github.com/disid/gvnix https://code.google.com/p/gvnix/
Here you have a guide to learn how to use Spring Roo and gvNIX extra functionalities:
https://github.com/DISID/gvnix-samples/blob/master/quickstart-app/README.adoc
Best Regards,
Roo is just an automated tool for designing applications in Java, more easily and efficiently.
Roo brought all major components together, in a well-fashioned manner. Therefore, it became easier for developers to use them. The major technologies that Roo projects can instantly leverages are as follows: