The framework architecture
Header

Spring

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 includes:

  1. Flexible dependency injection with XML and annotation-based configuration styles
  2. Advanced support for aspect-oriented programming with proxy-based and AspectJ-based variants
  3. Support for declarative transactions, declarative caching, declarative validation, and declarative formatting
  4. Powerful abstractions for working with common Java EE specifications such as JDBC, JPA, JTA and JMS
  5. First-class support for common open source frameworks such as Hibernate and Quartz
  6. A flexible web framework for building RESTful MVC applications and service endpoints
  7. Rich testing facilities for unit tests as well as for integration tests

For more information refer to :

http://www.springsource.org/spring-framework#documentation