What is Spring Framework ?

A lightweight framework that addresses each tier in a Web application.
  • Presentation layer – An MVC framework that is most similar to Struts but is more powerful and easy to use.
  • Business layer – Lightweight IoC container and AOP support (including built in aspects)
  • Persistence layer – DAO template support for popular ORMs and JDBC
  • Simplifies persistence frameworks and JDBC
  • Complimentary: Not a replacement for a persistence framework
  • Helps organize your middle tier and handle typical J2EE plumbing problems.
  • Reduces code and speeds up development
Do I have to use all components of Spring?
  • Spring is a non-invasive and portable framework that allows you to introduce as much or as little as you want to your application.
  • Promotes decoupling and reusability 
  • POJO Based
  • Allows developers to focus more on reused business logic and less on plumbing problems.
  • Reduces or alleviates code littering, ad hoc singletons, factories, service locators and multiple configuration files.
  • Removes common code issues like leaking connections and more.
  • Built in aspects such as transaction management
  • Most business objects in Spring apps do not depend on the Spring framework.