I've already mentioned the Spring Framework: a popular open source application framework that addresses many of the issues outlined in this book. (Indeed, we have contributed to Spring handin-hand with our work on this book.) This chapter will introduce the basic ideas of Spring and discuss the central "bean factory" lightweight Inversion-of-Control (IoC) container in detail.
This isn't a "Spring book." "J2EE without EJB" amounts to a movement, based on wide-spread experience, rather than a particular book or a popular application framework. Most of our architectural recommendations can be applied using a combination of other frameworks, or through custom coding.
However, Spring makes it particularly easy to implement lightweight, yet extensible, J2EE architectures. It provides an out-of-the-box implementation of the fundamental architectural building blocks we recommend. Spring provides a consistent way of structuring your applications, and provides numerous middle tier features that can make J2EE development significantly easier and more flexible than in traditional approaches.
The following discussion can be considered as a case study in the design of a lightweight container, as well as an introduction to Spring.
An open source project since February 2003, Spring has a long heritage. The open source project started from the infrastructure code I published with Expert One-on-One J2EE Design and Development in late 2002. ...