What is Spring Framework?

Spring is a general purpose framework i.e. it is not confined to any specific domain.

It can be used in a console application, in a web application or in an enterprise application.

This framework is based on the following concepts:

Spring framework is a collection of different modules which can be used individually or collectively.

Note: Core, Context and AOP modules represent the basic spring framework.

Other modules represent the application of IOC and AOP in different domains.


Description of the spring modules:

Core - This module provide the implementation of a basic IOC container.

Context - This module provide the implementation of an advanced IOC container.

AOP - This module provide spring AOP implementation.

Transaction - This module facilitate AOP based transaction management in spring.

ORM - This module facilitate integration to ORM frameworks such as Hibernate.

Web - This module automates common operations of web applications such as transfer of   request data to model objects, validations, file uploading and file downloading etc.

Web MVC - This module facilitate development of dynamic web applications using MVC                 architecture.