While Java spring framework is not a lightweight framework, it is by no means heavyweight either. It can be used for large and small projects alike. Whether or not the Java spring framework is lightweight has more to do with how you are using the framework than the framework itself.
For example, you don't need to use all of Spring in order to gain value from it. For example, the Spring MVC component provides an excellent alternative to JSF or Struts for web applications, regardless of whether or not you are using Spring for other parts of your application. Similarly, the Spring JDBC component can be incorporated into an existing application without having to use other parts of the framework.
The main point is that Java Spring Framework is modular and flexible. You can use all or part of it depending on your needs. While many Java EE frameworks are available like Struts, JSF, Tapestry, Wicket, etc. Spring is called lightweight because it doesn't reinvent the wheel and builds on top of existing technologies and standards.
Java Spring framework is not a framework to develop a web application but rather a complete programming and configuration model for a Java-based enterprise application. It doesn't require an EJB container (nor applications server) to run your code. You can run your code in a simple servlet container such as Tomcat. You can use Spring MVC instead of JSF if you like.
Another reason why Spring is called lightweight: all the IOC stuff happens in memory. In contrast to these heavyweight EJB containers, you have an XML file that gets parsed at deployment time, and then an object graph is built out of these metadata, which resides in memory during runtime.