Spring is a lightweight framework. It can be thought of as a framework of frameworks because it provides support to various frameworks such as Struts, Hibernate, Tapestry, EJB, JSF etc. The framework, in broader sense, can be defined as a structure where we find solution of the various technical problems.
To make life easier for Java Web Development. The main reason to use Spring is to embrace and employ the idea of "Inversion of Control and Dependency injection" in an efficient, easy and best possible ways while developing application.