||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: J2EE, Spring, Enterprise Java
Title: Spring: A Developer's Notebook
Authors: Bruce Tate and Justin Gehtland
Level: Intermediate Java
Verdict: Interesting but not a replacement for a more detailed introduction to Spring
O'Reilly's 'Developer's Notebook' series are devoted to giving developers a fast view into emerging technologies. Modelled on traditional lab books - complete with fake coffee stains and scribbles in the margins - they are most definitely not text books or finished and complete tutorials. The aim is to give the reader a fast leg up into a new area. In this case the authors of Better, Faster, Lighter Java provide that fast introduction to the Spring application framework - one of the centre-points that featured in their previous book.
A relatively simple and straightforward Java app is used throughout the book to show what it is that Spring does, how it does it and why it's a far superior approach to EJB and other heavy-weight J2EE technologies. The pace moves fast, the sample application is introduced, 'Sprung', the build automated using Ant and a unit test built using JUnit all within the 16 pages of the first chapter. The pace moves at a similar speed throughout the rest of the book.
Having introduced the central idea of 'dependency injection' - one of the key ideas behind Spring and other similar alternatives to EJBs - the authors then extend the simple application in all sorts of ways in order to show both the flexibility of the framework and the minimal recoding of core code that is required. So, for example, in the next chapter a user interface is created using Spring's WebMVC framework. In the chapter after that it's Struts and JSF and so on.
Other topics include Spring and JDBC, Persistence, Services and AOP, Transactions and Security, Messaging and Remoting and finally a look at building rich clients (using the Spring Rich project).
While it's good that such a wide range of areas is covered - and it does provide evidence of the power and flexibility of the framework - there are also down-sides. For a start the pace is so fast that it's not always clear how significant various bits of code are. Some more time devoted to clearer explanations or more rounded examples would have been more useful to a lot of readers. It also has to be said that any reader wanting to really follow the code ought to check out the errata on the O'Reilly web site.
This is certainly not a book that can be recommended as an alternative to a fully-fledged and detailed introduction to Spring, and there are a good few about at the moment. However, if you want to get started quickly and are able to fill in the gaps in the code then this might be what you're looking for.