Interesting things afoot with Spring

has posted about something appearing in the MVC framework within Java’s Spring framework —something he called smart defaults, or in ‘Rails speak’: convention over configuration.

Spring is one of the nicest frameworks I’ve used. It does require a fair bit of XML legwork to get it running, but, it is nevertheless very easy to extend—so you write less code.

Like Rails, the thing I appreciate most about it is it’s support for testing. Since it adopts a very strong design around it’s core Dependency Injection principles, it’s classes have a fantastically low coupling, making it very easy to write your code and (more importantly) unit tests. Because of it’s design, it encourages the developer to write high quality well tested code—something that I’ve increasingly noticed with Rails, it makes test-first easy.

However, it’s not quite as easy as `rails myapp` to get a new app going, but Matt’s excellent Equinox project does provide a base-app around which to fill, making it much easier to get up and going (something I’m never really much of a fan of).

Which reminds me, I must get a copy of his Spring Live book, although I’ve played with Spring and it’s MVC stuff a little, it deserves more of my time.