Scaffolding

One of the best parts about Spring Roo—a framework that knows so very much about your domain model—is that it can use that knowledge to inform how it creates the web tier. The most natural extension of this idea is of scaffolding. Scaffolding, as it’s famously called in Ruby on Rails and Groovy and Grails, describes the generation of views designed to manipulate the entities created.

Scaffolding is useful for a number of reasons. First, scaffolding views cuts the development time in half, getting you to a point where you can start prototyping a system and entering data. Sure, no automated tool’s going to generate the perfect web application for you, but nobody said it would. Instead, it’ll generate a web application, built to the highest standards in Spring web development, that you can then iteratively push to the finish line, changing the code as you go.

In running the controller scaffold command, we told Spring Roo to generate code to support the creation, update, and deletion of the Customer entity that we generated. It happily obliged, filling in all the gaps required to get our plain old Java project converted into a web application, and generating the required Spring MVC controller and supporting web views. The controller is presented below in its entirety:

package com.crmco.crm.web; import com.crmco.crm.domain.Customer; import org.springframework.roo.addon.web.mvc.controller.RooWebScaffold; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; ...

Get Getting Started with Roo now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.