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.