Tuesday, January 17, 2017

5 books to learn Spring framework and Spring MVC for Java Programmers

Spring and Spring MVC is one of the most popular Java frameworks and most of new Java projects uses Spring these days. Java programmer often asks questions like which books is good to learn Spring MVC or What is the best book to learn Spring framework etc. Actually, there are many books to learn Spring and Spring MVC but only certain books can be considered good because of  their content, examples or the way they explained concept involved in Spring framework. Similar to  Top 5 books on Java programming we will some good books on Spring in this article, which not only help beginners to start with Spring but also teaches some best practices.
In order to learn a new technology or a new framework, probably best way is to start looking documentation provided and Spring Framework is no short on this. Spring  provides great, detailed documentation to use various features of Spring framework but despite that nothing can replace a good book.

Luckily both Spring and Spring MVC got a couple of good titles which not only explains concepts like Dependency Injection and Inversion of Control, which is core to spring framework but also gives coverage to another important aspect of Spring. Following are some of the good books available on Spring and Spring MVC which can help you to learn Spring.

Java Developers also often learn Spring and Hibernate together because of huge demand of Java Web developers with Hibernate and Spring in their CV. So, if you are looking for some great books to learn Hibernate along with Spring, then you can also check out my post 5 Great Books to Learn Hibernate.

Top 5 Books on Spring Framework and Spring MVC

Here is my list of top 5 good books to learn Spring MVC and Spring framework. Let me know if you come across any other great book on Spring, which is worth adding into this list.

Lots of my readers suggested  Spring in Action from manning, as one of the best books to learn Spring. Seems like a worth reading book. I have seen it's content briefly and it does cover both Spring and Spring MVC. So if you are looking for a common book to learn the both Spring MVC for web development and Spring core for using Spring framework as DI and IOC container in core Java application than Spring in Action is definitely a good choice.

Best Book to learn Spring in Java

Expert Spring MVC and Web Flow by Seth Ladd, Darren Davison, Steven Devijver, Colin Yates is one of my favorite book on Spring MVC and arguably one of the best book in Spring MVC. It covers both Spring MVC and web flow in depth and explains each concept with the simple explanation. I highly recommend this book to any beginner which is learning Spring MVC framework. Their chapter on Spring fundamentals is also one of the best ways to learn dependency injection and inversion of control in Spring and I myself learned DI and IOC from that chapter.

This is the Spring book I recommend to any Java web developer who is familiar with Java web technology or any MVC framework like Struts. Only missing point is that this book only covers Spring MVC and web flow and does not cover whole Spring framework. Also, in my opinion, their chapter on Spring Fundamentals is one of the best ways to start with Spring framework.
Good books to learn Spring MVC

This is another good book on Spring Framework which I like most. This book is a collection of Spring recipes or How to do in Spring Framework. In every Spring recipes, you learn some new concept and it also helps to learn Spring fundamental e.g. their recipes help me to learn when to use ApplicationContext and BeanFactory and  Constructor vs Setter Injection. A key highlight of this book is, It’s problem solution approach. Since it’s teaching style is different than any conventional book, it’s a good supplement along with Spring documentation. This books also provide excellent coverage of many spring technologies e.g. Spring Security, Spring JDBC, Spring and EJB, JMX, Email and have a chapter on scripting as well. If you like books on problem solution approach then you will enjoy reading Spring Recipes, not the best book on Spring but still a good one and will definitely make any list of top 10 books on Spring framework.
Best Spring books for Java developers

The main highlight of this book is that one of its authors is Rod Johnson, who has also created Spring framework. So you get his view on Spring and How spring should be used, what are best practices to follow on Spring e.g. When to use Setter Injection and Constructor Injection. This book provides good coverage of Spring framework including Spring-core, Spring MVC, Spring ORM support etc. Also examples in this book is easy to understand and it also focus on Unit tests which are good practice. Though I don’t rate this book too high, like if your focus is Spring MVC than Expert Spring MVC and Web flow is the best Spring book to follow. If you are looking an overview on Spring features, then Spring Documentation is the best book to read. As I said the positive point of this book is knowing Spring from author Rod Johnson himself. Once you have basic knowledge of Spring framework, you can read this book to get authors view.
Must read Spring Framework book for Java developers

Pro Spring is one of the best books to learn Spring Framework from the start. This book is massive and tries to cover most of the Spring concept e.g. Spring fundamentals, JDBC Support, Transaction support, Spring AOP, Spring Web MVC, Spring Testing etc. Good point about this book is that it’s conventional and easy to read, it explains the concept, followed with a good example, which is a good way to learn. What is worrying is sheer size, I haven’t completed this book till date and only refer with some topic. Good point is that this book covers Spring 3.1 which is the latest stable version. As I said this is one of the most comprehensive book on Spring framework and anyone who wants to learn Spring framework by following just one book, Pro Spring 3.0 is a good choice.

Spring Documentation
Good Books to learn Spring frameworkSpring framework documentation is located on SpringSource website, here is the link for Spring documentation for Spring framework 3.1 in HTML format http://static.springsource.org/spring/docs/3.1.0.M2/spring-framework-reference/html/. Though this is not a book, Spring tutorials, and Spring documentation are another two source of learning Spring framework, which I highly recommend. The main reason for that is they are free and highly comprehensive and has a lot of examples to support various concept and feature. Also, one of the best parts of reference documentation is that they are updated with the latest Spring release available. Updating books with every new version of Spring is rather difficult than updating documentation. Spring documentation combines with any Spring book is the best way to learn Spring framework. For learning Spring MVC, you can combine Spring documentation with earlier spring book, Expert Spring MVC and Web Flow.

These are some of the best books to learn Spring framework and Spring MVC. Spring documentation is special  because of update and new releases of Spring Framework. Given the popularity of Spring Framework for new Java development work, every Java developer should make an effort to learn Spring framework. 

Further Learning
Spring Framework 5: Beginner to Guru
Spring Master Class - Beginner to Expert

Other Recommend Books for Java Programmers
  • 5 Great Books to Learn Hibernate for Java Developers (see here)
  • Introduction to Spring MVC 4 By Bryan Hansen (see)
  • 10 Books Every Programmer Should Read (read more)
  • Top 5 Data Structure and Algorithm Books - Best of lot, Must read (see here)
  • 5 Great Books to Learn Java 8 in Quick time (see here)
  • 10 Great books to Learn Programming Algorithms  (read more)
  • 11 Great FREE Java Programming Books PDF (download)

P.S. - If you want to learn how to develop RESTful Web Service using Spring MVC in depth, I suggest you join the REST with Spring certification class by Eugen Paraschiv. One of the best course to learn REST with Spring MVC. 


Jiri Pinkas said...

How about Spring in Action?


Hi Javin,

Thanks a lot for sharing useful books information, but I would like to share for quick rap up , please see the following url..http://www.mkyong.com/tutorials/spring-mvc-tutorials/

surendra kumar said...

where i can find the books list i am unable to see

Anonymous said...

Spring in Action is also good.

Fahim Farook said...

Can you suggest a spring book which covers concepts in-depth rather than syntax.
i.e. I want to know how namespaces work/ the concept behind namespaces, best practices for authenticating users etc.

Anonymous said...

I thought Spring in Action will take 1st place!!!

Anonymous said...

How about "Spring in Action" by Manning?

Ch!rag said...


Great article about Spring.

I think one more book "Spring in Action" can be added to this perfect list.



Javin @ xml interview questions said...

Thanks for your comments guys, As I can see, lot of you have suggested Spring in Action, another great book to add into this list.

Gray said...

I think Expert Spring MVC and Web Flow is a fantastic book. I learnt a lot about Java, the Spring Framework and development in general.

Anonymous said...

Best book in Spring is it's documentation. It contains accurate, updated and comprehensive information about everything on Spring framework. Most of the book only cover either few topics or few modules but documentation covers everything.

RULES BRAKER !!! said...

I didn't find Spring in Action pretty much fascinating since I am a beginner. This book covers more of a theortical approach.

enoughTheory said...

I read book “Learning Spring Application Development”… And i am blessed to have a book which helps me in understanding the Spring framework after executing all concepts and able to develop SAAS application.

Thanks to Author of this for this wounder content in this book “Learning Spring Application Development”.

Unknown said...

Hi Guys,

Expert Spring MVC and Web Flow covers Spring2, can any one tell me which is best book for latest version of Spring ie Spring 4

Anonymous said...

is spring in action still relevant to learn Spring framework, given current version of Spring is 4.2 and its mostly annotation based spring configuration in place rather than xml based configuration?

santosh said...

helo... spring controller is thread safe or not?? can you help me out with answer..

Javin Paul said...

Hello Santosh, the Spring MVC controller i.e. org.springframework.web.servlet.mvc.Controller thread-safety depends upon the implementation, ut interface clearly says that the implementation of the Controller interface should be a reusable and thread-safe class. So that it can handle multiple HTTP requests throughout the lifecycle of an application. It means, if your Controller is not thread-safe you will bound to see race condition and multi-threading issues when multiple HTTP request will hit your application at same time.

santosh said...

means its threadsafe???

Post a Comment