In this example–driven session, we'll see how to swiftly develop Spring applications using Spring Roo. We'll start with an empty directory and quickly work our way up to a fully functioning web application. You'll see how Roo handles a lot of the heavy–lifting that you'd normally have to do yourself when working with Spring. And we'll stop at a few scenic points along the way to see how Roo accomplishes some of its magic.

In recent years, rapid application development frameworks such as Rails and Grails have earned a lot of attention. By employing code generation, convention–over–configuration, and the dynamic capabilities of their core languages (Ruby and Groovy) to offer unparalleled productivity, help get projects off the ground quickly.

As awesome as these frameworks are, they do have one negative mark against them. Although developers love working with them, convincing the "boss" to build mission–critical applications in a relatively new development style can be difficult. The mere mention of a word like "Groovy" conjures up images of tie–dye shirts and VW vans. Risk–averse project managers often think that free love may have been a big thing in the 70s, but it has no place in serious business.

If psychedelic frameworks are a tough–sell in your organization, then you can still feel much of the same productivity gains while developing Spring applications. Spring Roo mixes Spring and Java with a little code generation and a dash of compile–time AspectJ to achive a rapid development environment that resembles Rails and Grails. But instead of producing Ruby/Rails or Groovy/Grails code that may make your manager twitch, Roo produces Java–based projects that use the Spring Framework — which is already accepted in many organizations.