Spring Core :It is core part of Spring and consists of the following modules – Core, Beans, Context and Expression Language. The brief description is as follows :OXM: The OXM introduces in Spring3.0 as separate module. It is used to converts object into XML format and vice versa. The Spring OXM provides a uniform API to access any of these OXM(Castor, XStream, JiBX, Java API for XML and XmlBeans) framework.
JMS : The JMS module provides by reducing the number of line of code to send and receive messages. The API take car of JMS workflow and exception handling.
Transaction : The Transaction module supports programmatic and declarative transaction management for POJO classes. All the enterprise level transaction implementation concepts can be implement in Spring.
Web : It is core part of Web layer and consists of the following modules – Web, Web-Servlet, Web-Struts and Web-Portlet. The brief description is as follows :
Web : This module provides basic web-oriented integration features such as multipart file-upload functionality and the initialization of the IoC container using servlet listeners and a web-oriented application context.
Web-Servlet : The Web-Servlet module contains model-view-controller (MVC) based implementation for web applications. It provides all other features of MVC including UI tags and data validations.
Web-Struts: The Web-Struts module contains the support classes for integrating a classic Struts web tier within a Spring application. It contains the classes to integrate Struts1.x and Struts2.
Web-Portlet : The Web-Portlet module provides the MVC implementation to be used in a portlet environment and mirrors the functionality of Web-Servlet module.
Others : There are few other important modules in Spring, which plays vital role in the framework to use all the features in various scenario. The modules are AOP, Aspect, Instrumentation, and Test.
AOP : It contains API for AOP Alliance-complaint aspect-oriented programming implementations on various layers. You can introduce new functionalities into existing code without modifying it.
Aspectj : The separate Aspects module provides integration with AspectJ.
Test : The Instrumentation module provides class instrumentation support and classloader implementations to be used in certain application servers.