When we think of the community of Java developers, we are reminded of the hordes of gold rush prospectors of the late 1840s, frantically panning the rivers of North America looking for fragments of gold. As Java developers, our rivers run rife with open source projects, but, like the prospectors, finding a useful project can be time-consuming and arduous.
A common gripe with many open source Java projects is that they are conceived merely out of the need to fill the gap in the implementation of the latest buzzword-heavy technology or pattern. Having said that, many high quality, usable projects meet and address a real need for real applications and, during the course of this book, you will meet a subset of these projects. You will get to know one in particular rather well—Spring.
Throughout this book, you will see many applications of different open source technologies, all of which are unified under the Spring framework. When working with Spring, an application developer can use a large variety of open source tools, without needing to write reams of code and without coupling his application too closely to any particular tool.
In this chapter, as its title implies, we introduce you to the Spring framework, rather than looking at any solid examples or explanations. If you are already familiar with the Spring project, then you might want to skip this chapter and proceed straight to Chapter 2.