TSSJS Day 3: Spring Framework’s Rod Johnson Keynote

Rod flies in from Paris at 11pm last night.  Let’s see what he has to say being as jet lagged as he must be.  I’m feeling a bit punchy since I lost again at the poker tables last night.

Spring is not prescriptive (i.e., doesn’t tell you how you should code).  The philosophy of Spring is that the developer is always right…I like that!  Spring is putting a lot of emphasis on Grails and SpringRoo.  We then goes on to demo the Spring 3.0 features using Spring Source Tool Suite (STS) doing a SpringRoo project.

SpringRoo comes with a shell built into STS that you can type context-sensitive tab completion for common tasks.  He goes on to set-up context persistence.  He shows how component-scan can rip through your class files and find all the resource annotations continuously. He shows some other mundane things that were basically there from Spring 2 such as autowiring and db connections.

Then he shows how you can create integration tests with SpringRoo automagically…this is nice!  He goes on to talk about how great Spring Integration testing is using SpringJdbcTemplate, which it is if you haven’t checked it out.  He then uses JSR303 validation, which is built-in, to do some basic validation in his entity.  The Roo shell picks up the changes and updates the generated code without running anything.  Roo doesn’t do one-way scaffolding like typical code generation tools but constantly monitors the structure and makes changes to the underlying source better than you!  It’s a code generation tool that is for folks that still like to write code!

He goes on to show how you can use the Roo command line to create more entities and fill them out, including relationships between multiple entities.  It demonstrates how you can do two-way changes from in the code or cmd line…very cool!  Using the shell shows how you can ultimately write a script to build your app in playback mode later.  Additionally, you can use SpringRoo to add dependencies to your Maven POM…what doesn’t it do?

Spring 3.0 adds a RestTemplate to test REST services with JUnit…that should come in handy.  He continued to show how this can be used against the Twitter REST service to pull in tweets related to the conference.

I looked at SpringRoo about a year ago and it seems to have come a long way.  I was especially impressed with the integration in STS.  Something definitely to keep on the radar of things to look at.