- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Pro Spring Paperback – Feb 1 2005
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Rob Harrop is a software consultant specializing in delivering high-performance, highly-scalable enterprise applications. He is an experienced architect with a particular flair for understanding and solving complex design issues. With a thorough knowledge of both Java and .NET, Harrop has successfully deployed projects across both platforms. He also has extensive experience across a variety of sectors, retail and government in particular.
Harrop is the author of five books, including Pro Spring, a widely-acclaimed, comprehensive resource on the Spring Framework.
Harrop has been a core developer of the Spring Framework since June 2004 and currently leads the JMX and AOP efforts. He co-founded UK-based software company, Cake Solutions, in May 2001, having spent the previous two years working as Lead Developer for a successful dotcom start-up. Rob is a member of the JCP and is involved in the JSR-255 Expert Group for JMX 2.0.
Jan Machacek is a chief software architect at Cake Solutions Limited (www.cakesolutions.net), a UK-based software company. He has been an early adopter of Spring at Cake Solutions and has seen the dramatic change the Spring framework has brought to the Java world. As part of his job, Jan designs and oversees the development of majority of Cake's projects. Where appropriate, Jan also applies his interest in declarative programming and artificial intelligence. Throughout his programming career, Jan has designed and implemented large J2EE and .NET systems for the UK government and large private sector bodies. When not programming, Jan enjoys foreign languages; he also enters races and time trials as a member of the Manchester Wheelers' cycling club.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
First, Spring was born out of the thinking by Rod Johnson in "Expert One-on-One J2EE Design and Development", and later with this followup book co-authored with Juergen Hoeller in "Expert One-on-One J2EE Development without EJB". These books are excellent books in general and I highly recommend them. However, the first book is not really about Spring and is more about general enterprise application development strategies (and very good at that). The second is sort a essay on why EJB has failed, and also a short introduction to Spring along with the philosophy behind the design decision in Spring. However, it's too sparse to be a full-fledged Spring manual or tutorial. It's more a well-argued anti-EJB book with a short tour guide to Spring.
In contrast, Rob Harrop (who is also a Spring developer) has written the first truly comprehensive introduction and tutorial to Spring. It covers the whole gamut, from a clear introduction to why Dependency Injection makes a lot of sense, on Aspect Oriented Programming and how it applies to Spring, then on to a detailed coverage of how to use Spring for persistence, transactions, remoting, messaging, scheduling, email, and MVC web applications. He shows how to integrate with Hibernate, iBATIS, JDBC, JTA, JMS, Quarts, Struts, Velocity, etc.
What's amazing is that it covers Spring 1.2, which is still in release candidate stage, and gives you updates on the current stage of various supporting software, what to watch for in the near future and what the changes will most likely be. Just as one example, the Spring IDE plugin to Eclipse has really no online documentation to speak of since it's still relatively new, but this book shows you how to get it, install it, use it. The book has better documentation than the canonical website. That's just one example of many.
So how does this compare with the online docs for Spring? The online docs are good in most places, but there are still some big gaps in the documentation, whereas this book is nothing but exhaustive in its coverage and clearly superior in most places compared to the online-docs.
I've read both of Rod Johnson's books, the online docs and Rob Harrop's book, and this book is probably the best out there right now for its coverage of Spring, and it's also a one-stop shop. You don't really need anything else, unless you're looking to expand your knowledge with the other books into areas outside of Spring.
The only other book that might come close is the (as yet) unpublished book by Rod Johnson titled "Professional Java Development with the Spring Framework". However, that book is not out yet, so unless you can stall your Spring development for many months (hah, hah), I highly recommend Rob Harrop's book. Be productive and just get it.
Spring is a light-weight container and framework for building java applications, both J2SE and J2EE.
1. This means that, unlike other web frameworks, like struts, spring is not only limited to web applications.
2. "light-weight" does not mean that it is a tiny framework; rather it means that it is not an intrusive framework like EJB.
To support these claims, we can say that spring provides container and/or framework features for
1. Presentation Layer: Spring MVC, Spring Web flow, support for struts(and various other MVC frameworks)
2. Business Logic Layer: Transaction Management, Remoting, J2EE support(support for JMS, EJB, Mail etc), Job Scheduling support
3. Data Access Layer: JDBC support, ORM Support(Hibernate, JDO, iBatis etc), Database Exception Translation etc.
4. Common Features for all layers: Inversion of Control, Aspect Oriented Programming, Bean Factory, Application Context
By providing the above features (and more) in a light-weight fashion, spring introduces the following traits into your application
1. Ease of development
2. Non-Intrusive Source code
3. Good Design Patterns and Practices
4. Testable Design and Code... and much more
Both the above lists are by no means exhaustive, but is a good starting point on how you look at spring.
"Pro Spring" does a very good job of explaining all these features in very organized and easy to understand fashion. The best thing that I liked about this book was that, it was able to portray the bigger picture accurately and then zoom-in on individual items in a very orderly fashion. This helped me understand the individual parts of this extensive framework in the context of the bigger picture. BTW, version 1.2 of spring is covered in this book.
Now the "not-so-good" news: This book has 2 authors, Rob Harrop and Jan Machacek. They are both highly skilled spring developers, but I am afraid, one among them is not so great writer. I found that the chapters written by Rob Harrop were extremely clear. The chapters written by Jan Machacek were not very easy to read at least during my first pass. The silver lining here is that, the fundamentals of spring are written by Rob Harrop, which puts us in a better position to read Jan Machacek's work. Also, during my second and third passes, I was able to get a better value out of Jan Machacek's work, which means that we don't need to worry about this con if you are fine with reading a few chapters twice or thrice.
Overall, "Pro Spring" truly makes you a Spring Pro. I highly recommend this book, if you are seriously interested in learning and using spring.
I was very pleased to find this book, and after reading it, I feel very excited about starting a large spring adventure.
This book covers just about everything you need to know about Spring to build a full blown app, but more importantly it also shows you where/how to start (which is not so easy to figure out sometimes) and how to implement things in a very reusable way.
The organization of the book seems strange sometimes... having the huge sometimes confusing section about AOP in the beginning (chapters 6 & 7) really makes your brain spin, but by the time you get to chapter 11 (designing and implementing Spring applications) you can easily put things together and the previous sections make more sense.
The book takes you through building a blog application as it's main sample app, but all along the way there are many many tiny little code examples that are self-contained and demonstrate how a single concept works. This *does* work well to make sense of things, but I wish there was a section that only delt with building the sample app from start to finish all in one place.
Also, after downloading the sample app, I had a few problems running it.... there aren't any configuration instructions, even though you can choose any of 3 data layers, and once I built and deployed it, I found it was missing some jar dependencies. Once I put them in place, it did run as expected.
I think that the best thing about this book is probably the way in which it promotes good software design and reuse, even if you're not going to use Spring through the use of the DOM pattern, designing to interfaces, and testing.
All in all, this is a great book. If you're looking to build an application using Spring, read this book. It's the best resource for getting started, and will also make a great reference.
Let me start with what I liked the most about the book.
- The authors start with examples that don't use dependency injection at all. They refactor those exmaples, so you can see the value of the core design pattern supported by Spring. This, in my view, was nicely done. It's critical.
- The authors treat each topic completely before moving on to the next. For example, for the base container, they walk through the edge cases, like method injection and introduction, and explain the core problem that they solve. As early contributors of Spring, the authors were well positioned to do this.
- The example is simple. I think that there's been too much of a movement to building real business applications in books. These treatments quickly bog down into details, and distract from the topics that they're trying to cover.
- The sense of humor is there, and it's not overdone. I like having the obscenity filters as an AOP example. (I just wish that the book found some way to include a logging example...or not.)
- The book is comprehensive. It covers the core subjects of DI, AOP, persistence, messaging and remoting, but also some edge scenarios like mail, scheduling, and the like.
It's tough to find a down side, but if I had to pick, I'd say that the language bogs down at some points. This, in my opinion, falls on the editors, and not the authors. I do think that the order of the topics was a bit strange, like introducing AOP before establishing a need.
But I'm picking here. This book is very well done, and I'm glad I got it. I would definitely buy it again.
The authors do a very good job at not only explaining the technology but in providing some perspective on it's use as well. Between this book and Manning's "Spring Into Action" I would take this book.
Look for similar items by category
- Books > Computers & Technology > Computer Science
- Books > Computers & Technology > Programming > Java
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software
- Books > Deals in Books
- Books > Textbooks > Computer Science & Information Systems > Computer Science
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering