In the previous chapters we have covered a lot of functionality provided by the Spring Framework. It is now time to put the pieces together in a complete application. We will use the example from Expert One-on-One J2EE Design and Development by Rod Johnson, with some minor adjustments in the requirements. If you don't have the book, you can find the updated requirements in Appendix A of this book. Some of the solutions have already been used as examples in earlier chapters explaining how to use Spring for a specific technology, but this chapter will show how it is all tied together.
Spring covers such a large set of technologies that most applications will use only a part of what Spring has to offer. This is also true for our sample application. We have chosen to limit the application to certain technologies that we feel are the most commonly used, but this does not limit the applicability of the approach to include other technologies if your projects have different needs or requirements.
One value that a sample application provides is the opportunity to show a complete example with all configuration files and all Java code — complete and in a deployable form. This allows you to see all the relationships between the files and it also allows you to investigate a fully functioning example in full detail.
The primary focus of this chapter is to explain how this application is designed and implemented. We will cover the major architectural features and present the reasoning behind the choices made, but not necessarily cover all the technical details because this has already been covered in the preceding chapters.
When you read this chapter, you should have the source code for the sample application at hand. It can be downloaded from the "Download Code" section of the Wrox "Programmer to Programmer" website located at www.wrox.com.