The sample application for this book is an online ticketing application: a web application that works against a relational database. This application uses JSPs to generate web content; Spring's MVC web framework to implement the web tier; Spring to configure middle tier objects and make them transactional; and a mix of Hibernate and JDBC to access and update relational data. We use Spring's data access abstraction to conceal use of Hibernate behind a portable layer of data access interfaces. We have tested with a choice of popular relational databases including MySQL and Oracle.
This application can run in either a web container or on an application server, using either local or global transaction management.
The requirements for the sample application are discussed in Appendix A; the implementation is discussed in Chapter 15.
This problem domain was first used for the sample application in Expert One-on-One J2EE Design and Development. It has been rewritten for this book to bring it up to date with the current Spring feature set and current views on best practice for J2EE applications using Spring. If you have the earlier book, you should find the comparison interesting. The past two to three years have seen many developments in the Java framework space, so best practice has moved on significantly (not merely concerning Spring itself).