There are 20 modules available in Spring 4.0
All the modules can be properly arranged into six functional categories as shown below:
All the module shown above is enough to develop any enterprise application.
Though Spring doesn't at all force you to choose any of the module. You are free to choose whichever you like. In case you want to integrate other frameworks with your Spring appliction, you can easily do it as Spring provides integration points to several frameworks and libraries..
Given below are Spring Modules and important points about them.
Core Spring Container
All the other Spring modules shown in the above diagram are built on top of the core container.
The core Spring container consists of:
The Spring Core container is the central part of the Spring framework that manages the beans.
They create beans, configure it and manage their complete life cycle from beginning to end.
The bean factory in this module helps in acheiving Dependency Injection.
This module also provides other enterprise services such as JNDI access, EJB integration, etc.
Spring AOP Module
AOP module provides efficient and significant support for Aspect-oriented programming. AOP module helps developers create their own aspects for the Spring based applications.
We can see it has two parts:
We will learn more about them in respective section of this tutorial.
Data Access and Integration
Data access and Integration module contains and provides:
Web and Remoting
This section provides support for the following:
This section provides support for:
The Instrumentation module helps adding agents to JVM and provide weaving agent for Tomcat that transforms class files as they are loaded by the classloader.
The Spring's testing module is provided to ease the mechanism of testing spring based applications.
Testing module provides lots of mock object implemenations for creating unit test for codes. It also provides support for integration level testing.