Susan Kerschbaumer



Winter slumbering in the open air, Wears on his smiling face a dream of Spring!

 --Samuel Taylor Coleridge

The Spring framework is aptly named – in many ways Spring ushers in a new season for Java programming, and brings a sense of renewal to Java's roots in portability and object oriented concepts. Spring evolved from the needs of the J2EE community at a particular moment in time. In the process it has become a much broader tool in the drive toward more modular, portable, and now, aspect oriented, programming. If you are a Java programmer and have access to a JVM, you can leverage any part of Spring to begin to build applications that are easier to code, easier to test, and easier to manage. This book will show you how.

1 Spring: Evolution Over Intelligent Design

One of the reasons that Spring has become so popular and so usable is the simple fact that it is evolving. Yes, there was some intelligent design involved at its inception (thanks to Spring's creator Rod Johnson). But what started out as a good idea to help address some very specific problems for J2EE developers became a conversation, a dialog with the developer community. This conversation has helped to shape the direction of this thing we call Spring.

Programmers are linguists. We make up words, assemble grammars, and use them to express concepts both abstract and concrete. The evolution of programming languages and technologies, Spring included, has been inspired and conducted by the people that use them. And just as in every language, usage dictates meaning.

From procedural, to object oriented, and to the newer linguistics of aspect oriented programming, the way we think about coding is eternally evolving alongside the languages and technologies we use. Spring evolved from within a context of needed change in Java programming environments. Not only has Spring popularized some core best practices in Java development, it is now influencing the evolution of Java itself.