Spring framework is very useful framework. It is developed to make programming very easy. It provides many API's for the development many different types of applications such as web applications, desktop applications, mobile applications etc. The Spring framework is evolving very fast and it is one of the most used framework for the development of web application in Java. It provides support for JDBC, EJB, Web services, Ajax etc.
Here are the benefits and features of Spring Framework
Spring is Lightweight container: You can use the spring frameworks components selectively and as per your requirement. There is no need to add all the library of the spring framework in your application.
It can run on almost all the Servlet containers.
Objects can be created in many different ways. You can initialize and object lazily and also create the Singleton objects through configurable configuration file or annotation.
Spring components can be configured declaratively
It provides support for declarative transaction management, security and logging service configurations. It provides support for AOP (Aspect Oriented Programming)
It's very easy to unit test the applications developed in Spring framework. It provides easy integration with the JUnit testing framework.
It provides support for APO and Dependency Injection. It provides 4 ways to inject dependency into application.
Spring's configuration management services can be used in any architectural layer, in whatever runtime environment.
Read more at Spring 3.0 Features - Spring 3 new features.