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:
Inversion of Control (IOC)
Aspect Oriented Programming (AOP)
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.