So I’ve had the opportunity of late to dabble with Spring 3. From what I had seen before I wasn’t totally sold on the move to annotated controllers but after having used it for a few months I think I’m pretty much a convert to the new approach.

One of the major advantages to this new style is that it makes it dead easy to create RESTful web services. You basically define your controller class and annotate your methods the methods you wish to expose as a REST call with the @RequestMapping annotation. With this annotation you can supply some additional attributes such as the URI pattern you wish to match and what HTTP method applies to the service,

Combined with added support for JSON such as MappingJacksonJsonView and the Jackson JSON libraries one can very quickly whip up a fairly robust REST service.

As a good starting resource the SpringSource blog has a good rundown: