Many organizations are using Spring technology to a limited extent. This is a wise approach—waiting to see if it really catches on in the mainstream before investing more heavily in Spring. However, by contrast many programmers are put off by the hype surrounding Spring. Indeed, some programmers feel that the complexity of Spring is too great balanced against the benefits it provides.
Either way, as programmers it's important at least to be able to use Spring. Contrary to what many say about Spring, it's not a complex technology. Spring code can be written and added to an existing application in a matter of hours. More importantly, Spring increasingly incorporates some really advanced software techniques, such as aspect-oriented programming, dependency injection and inversion of control, XML-based configuration, auto-wired objects, etc. As programmers, we ignore such trends at our peril.
In this article, a simple application was written that included support for the MVC pattern. This is pretty easy to do; the result is powerful, extensible, pattern-based code. The companion article to this one does pretty much the same thing with the Spring web services distribution. Again, it's always a good idea for programmers to stay current with these trends.
Many large organizations are dipping their toes into the Spring waters, and I recommend that programmers not actively engaged in Spring-based development do the same. This is a good way to keep skills up to date while also moving up the value chain.