The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.
Spring saves time and makes Java fun again. It has a huge friendly community and great documentation.
I'm relatively new to Spring, and while I enjoy the power of the framework and surrounding extensions, I'm continually frustrated by the obtuse configuration and numerous ways to do things. Spring is the de facto framework for many other projects, so it pays to become familiar with it.