There are a lot of books about Spring framework and its related projects, and I own almost all of them. The books about specific projects are generally well written and they’re really useful. I enjoyed a lot reading them. The generic books are the ones you need to learn the framework itself and they also provide a good short introduction for some of the other projects.
Now I want to highlight three of the books because they are my reference reading when I work with Spring, and I’ve been using Spring since 2006, being 1.2.8 the first release I work with. Since then, I use the framework on a daily basis.
I own the first and the (upcoming) fourth editions. It’s a very funny and well explained book that provides the basic knowledge about the framework itself and their main concepts: dependency injection and bean factory, including simple but representative samples.
It’s the recommended book if you want to learn from the square one the Spring framework ecosystem.
I own the second edition (aka Pro Spring 3) and the upcoming third edition.
It’s a very useful step by step explanation of all the Spring concepts, including a sample project that worth it.
It has the best explanation of concepts like AOP and data access. Besides, it has a chapter for MyBatis that I haven’t found elsewhere.
I recommend it if you want a deep knowledge of the framework and if you have enough time to devote to reading it.
It’s my favourite Spring book.
I own the three editions of the book and I love its approach to the framework.
It’s not a book no to read from the beginning to the end, instead, the best way to read it is to use the index and find the topic for what you want to use Spring.
Just read a single chapter and you will know how to use the Spring for a particular problem that you have to face.
But the best is that every chapter introduces the way that you would use Java if you haven’t had Spring framework. You can learn Java by reading this books (for instance, I used this book to learn JMX)
It’s the recommended book to be used during the build of a real system for addressing the topics or problems that you have when you’re developing.