Recently I’ve been looking into Spring Roo to find ways to speed-up software development as well as reducing plumbing code.
In this blog post I will highlight some of the advantages and disadvantages of Spring Roo which I stumbled upon. So don’t expect a full featured introduction or tutorial; plenty of those already exist on the internet ;-)
A unique approach on code completion
Spring Roo takes on a different approach to code generation compared to other solutions.
Instead of generating additional .java files (through the “Generation Gap Pattern”) it generates so-called AspectJ inter-type declaration (ITD) .aj source files.
Each generated inter-type declaration (ITD) type will “weave in” structural changes to its target .java file; for example to add new methods (i.e. getter/setter methods) or an “implements …” clause.