Welcome back to another installment of This Week in Spring.
We've got a lot to cover, though, so let's get to it!
- I'm presenting a webinar on March 14, 2013 - Multi Client Development with Spring! Join me to learn about REST, OAuth, Spring MVC, Spring Android, and much more!
- Join Damien Dallimore and David Turanski on a webinar as they introduce the Webinar: Extending Spring Integration for Splunk - March 28th, 2013
- New SpringOne2GX replays now available in HD on YouTube: Spring Data Repositories: A Deep Dive, and Intro to Cascading
- @SpringSource is launching a (quick) swag-giveaway campaign!
Spring Security lead and ninja Rob Winch has announced the initial support for Java-based configuration in Spring Security.
This is a wonderful milestone. Recently, we've seen Java-configuration alternatives to the XML DSLs offered for Spring Social, Spring Batch and - now - Spring Security. Check out the Spring Security Java-based configuration for more details.
I had the unique privilege of visiting the Alibaba group in China where they're doing some amazing things with Spring. Read more in my blog, Spring at China Scale: the Alibaba group.
- Someone asked me this the other day and I felt like it was worthy of a mention: in your Spring MVC
@Controller class handler methods, make sure that the
BindingResult argument is immediately after the model or command argument, like this:
<CODE>@RequestMapping(...) public String handleRequest( @ModelAttribute @Valid YourCustomPojo attempt, BindingResult result)</code>.
In this example, <CODE>handleRequest</Code> will validate the POJO (<CODE>YourCustomPojo</code>) - checking the POJO for JSR303-annotations and attempting to apply the constraints because the POJO is annotated with <CODE>@Valid</CODE> - and stash any errors in the <CODE>BindingResult</code>, which it makes available if we ask for it.
- Speaking of validation using JSR 303, I found this amazing post from 2010 that I felt worth inclusion. This post introduces a custom annotation, called
@SpelAssert, that works like JSR303's
- Do you want to use Cloud Foundry with the continuous integration capabilities offered by CloudBees? We got you covered! The Cloud Foundry and Cloud Bees teams worked to integrate the process, and the step-by-step introduction is given here.
- Alvaro Videla has introduced and open-sourced his RabbitMQ simulator. The RabbitMQ simulator is an awesome visualization tool to demonstrate how RabbitMQ topologies work.
- Gary Russell has announced that Spring AMQP 1.1.4 is now available.
- The Fstyle blog has an interesting post on how to unit test Spring Security with Spring MVC test mocks.
- Our pal Boris Lam is back, this time with a post on how to
integrate Spring Data, MongoDB and JavaServer Faces.
- Indika Prasad, on the Programmer's Guide blog, has put together a tutorial showing how to use Spring Security with Webdav and password encryption.
<LI> The <EM>Java J2EE SOA Key Points</EM> blog has a nice post on
<A href="http://stlarch.blogspot.com/2013/03/spring-ws-jaxb-web-sevice-client.html">using the Spring WS JAXB web service client</a>. There's very little narrative, but lots of code.