Spring framework provides a comprehensive programming and configuration model for modern java based enterprise applications - on any kind of deployment platform. It was developed by Rod Johnson in 2003.
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 is a lightweight framework and provides additional features and functionalities like Dependency Injection , Inversion of Control, Aspect Oriented Programming etc. Spring offers its compatibility to various applications with extra frameworks like Spring Jdbc, Spring Batch, Spring Security etc