Overall this book is great value for money. There is a ton of sage advice, and a winning format. On the whole the writing style is informative and the book is an excellent resources to get to grips with the nuances of the latest and greatest things pertaining to the Spring portfolio. (v3)
It could easily have achieved a 5 star ranking had some of these pieces of advice been heeded: 1) Include a Maven Appendix. The main coverage of Maven was rolled in to the chapter on Spring Roo. On the whole dependencies were discussed in relation to one of the 24 chapters covering 983 pages - excluding the index. A notable exception was Apache CXF, one of the recipes in chapter 17, where this didn't occur. I believe from looking at the code download this was probably due to a size constraint, because of exclusion of transitive dependencies. But at times, JARs were required that weren't in the central Maven Repository. An appendix would have been an ideal place to include all this stuff and tell people how to install these jars into the local repo. Also a summary of remote repositories and a cross reference to chapters/recipes would help But there's some good stuff scattered here and there too. See OSGi chapter.
2) Include a roadmap in download to cross reference folder names to chapter numbers. On the whole this was pretty intuitive. This might help you if you are just getting into book. I think springintro and beanconfig both pertained to chapter 1. Chapters 4 (Scripting), 11 (Grails) 12 (Roo) had no code download.
3) The loss of half a star for the infestation of an inordinately large number of typos, grammatical mistakes, copy/paste errors. Pages from chapter 13 made it into Chapter 15, so Table 13-2 suddenly made a re-appearance, completely out of context! The latter half of book was better than the first in this respect in terms of the number of errors per chapter. Missing line continuation markers, or unconverted ones with a ~CCC symbol... Another recurring theme, the end of a paragraph having some text repeated randomly as if some global search/replace had gone horribly wrong. There were also cases of missing matching braces here and there and anomalies between xml and fully qualified class names/Java code.
4) The loss of half a star for not naming XML artefacts or the artefact to which code snippets belonged. This is a pain.
5) The loss of half a star was the fact that recipes didn't tie in to code download. To put you in the picture, a chapter would evolve over a series of recipes. The download only covered a certain snapshot. The book could have possibly taken advantage of SPEL to version stuff, or used something like GIT source control with points you could restore to. The very first recipes for example in the code download for example wouldn't run because it loads an XML Application Context file with the wrong name. There's minor inconsistencies between the book and code here and there too that make it harder to reconcile things. There was also a class in the code download, for which only half of the source was provided (Chapter 20 Spring Integration) and on occasion there was no source in the download at all for code that was discussed.
6) The loss of another half a star, because the book doesn't stand on it's own. Sometimes snippets had to be looked up in the code download. Certain sections of the book will be too vague without the code. JBPM, OSGi
7) A few minor point on sequencing. The Flex chapter should have come after Spring Integration and Spring Batch before Spring Integration. Sometimes chapters had code that referenced classes that hadn't yet been seen. Often this would be discussed later in the chapter. In such cases a forward reference would have helped no end. I was often searching in two places, ahead in the chapter, and off in the IDE for the code.
I think the Flex chapter went through too many permutations of ridiculously simple examples, then leapt to some more complicated stuff, and a bit of Spring Integration jargon crept in that never got discussed either, that threw me. The coverage of Grails was a little light, and seemed to focus of setting up logging in a Grails project. The authors seemed to sing the praises of Roo more, but I think Grails Groovy based DSLs like GORM and GSP/taglibs (which weren't discussed much) are far superior. The chapter including coverage of web services didn't explain the content negotiation well enough for my liking. So it was hard to delineate what distinguishes REST Controllers from regular MVC ones.
I think the APress folks should get some proofreaders and better tech reviewers in to make a more polished first print. I'd be a bit embarrassed if I were them. ;-) Anyway, I fed back all the idiotic simple stuff, to Josh and Gary. So if you buy the electronic PDF, you'll probably see a more polished improvement. (Or wait for second reprint)
If I was to play devils advocate, I could also say this of the book. Whilst there are many ways to skin a cat, it would be beneficial if the authors had imparted a best practices approach, so you have a more distilled book, rather than every which way to do things. But it's not a big thing. Maybe food for thought though in future books.