Spring: A Developer's Notebook by Bruce A. Tate & Justin Gehtland, ISBN: 0-596-00910-0

Reviewed by: Songmuh Jong, September 2005
Published by: O'Reilly
Requires: JDK, J2EE, Tomcat, Struts, JSF, MySQL, EasyMock, iBATIS, KODO, Hibernate, Spring Rich Client, plus all the dependencies
MSRP: US$29.95, CA$41.95, UK£20.95

The Spring framework has attracted Java developers due to its simplicity and abstraction in design that eases J2EE development. Its acceptance has now spread to areas outside of J2EE. Authors Tate & Gehtland have done a good job of introducing this framework to developers who are familiar with some J2EE concepts and who haven't explored the Spring library. For developers who have used a few features of Spring, this book is a good resource designed to help you take advantage of the full spectrum of the Spring framework.

Classes and references in the book are accurate. The examples easy to run as the bundled files come with all the necessary libraries and DTD files, although the Errata page on the O'Reilly web site is still essential to get the code up and running. Unfortunately, there is a lack of correlation between the example number in the book and the sample codes. It is also curious that examples in some chapters are not included in the download. However, you can get some of the content from Safari online if you are a member. The screen shots are now showing the correct address in the browser except for the personal port number. It's interesting that the exercises come with a support file listing an 800 number and an e-mail address.


This is an ambitious book that attempts to touch upon almost all the features of the core Spring framework: JavaBeans-based configuration, MVC web framework, JDBC abstraction, OR mapping and persistence management through integration with iBATIS, KODO and Hibernate, Aspect-oriented programming (AOP) functionality, transaction and security management, and one of the Spring sub-projects: Spring Rich Client.

The authors have done an excellent job of hand-holding developers on some basic concepts. A series of examples called lab exercises, evolve from the simplest example to a form that shows the utilization of Spring libraries. The whole book develops on a hypothetical Bruce's Bike Store by adding the concepts described in the book. This kind of tutorial is particularly well done in a few chapters. Chapter one introduces dependency injection, Ant automation, JUnit testing, and a simple example of using Spring to instantiate beans. Chapter two introduces JSP and Tomcat. Chapter four introduces the JDBC abstraction using Spring.

Java developers will enjoy the discussion on the integration of other Open Source projects with Spring framework. Most of the discussion comes with complete sample codes with JUnit tests. (Open source Java projects are undergoing changes constantly however, so readers may want to stick to the libraries provided by each package). For most of the chapters, use the jar files from the lib folder of the downloaded ZIP file. For the Spring Rich Client chapter, use the jar files from the cvs checkout for the project.

I like the fact that both the Ant build file and IntelliJ project files are included in the download. However, I'd like the authors remove all the references to personal folders, update the jar files to the latest versions and correct all the deprecated references. Ideally, any reader should be able to download, unZIP and compile the examples without any modification. I also hope that the next edition provides a real JUnit test invoking the Spring classes starting from chapter one.

Spring: A Developer's Notebook is an attractive and ambitious book dealing with multiple advanced topics. It's an excellent resource for most Java developers. Enterprise developers will probably find some information applicable to their infrastructure. Each chapter can be easily developed into a Developer's Notebook. The authors use travel experiences as analogies in the book and it adds some fun to the reading. Even though there are some deficiencies in the sample codes, that should be an interesting challenge for developers who are willing to spend time on the subjects. After all, this is a developer's notebook, and it does read like one. Recommended.





© Copyright 2000-2007 kickstartnews.com. All rights reserved. legal notice
home | previous reviews | forums | about us | search | store | subscribe


Hot News Search Home Previous Reviews About Us Store Subscribe