Spring was not developed in a boardroom and as a result it has a vibrant and sometimes confusing context. This book will first introduce you to the core concepts behind Spring and how Spring will make your life easier (and more interesting!). Spring is built around a few key patterns and some relatively new concepts in Java programming. In this book these new ideas are introduced conceptually and then practically, with increasingly more complex examples to further your understanding.
By the time you finish reading you will have a thorough appreciation of what Spring is and why and how it came to be, where it seems to be going, and all the details you will need in order to use it. You will also gain an understanding of how Spring fits into the architecture of the systems you build, and how it can be leveraged alongside other emerging and legacy technologies.
While Spring evolved out of the J2EE realm, in keeping with the idea that Java components should not be tied to a particular architecture, we only require that you have some knowledge of Java and XML in order to understand and make use of most of this book. The exception to this is Chapter 10 which discusses the web tier of Spring in some depth, and requires some knowledge of servlets and other web application concepts.