Search This Blog

Friday 14 April 2017

Spring Modules

Spring Modules


The Spring Framework contains a lot of features, which are well-organized in about twenty modules. These modules can be grouped together based on their primary features into 
Ø  Core Container 
Ø  Data Access/Integration 
Ø  Web 
Ø  AOP (Aspect Oriented Programming) 
Ø  Instrumentation 
Ø  Test

Core Container Module
The Core Container consists of the Core, Beans, Context and Expression modules.

The Core and Beans modules provide the most fundamental parts of the framework and provides the IoC and Dependency Injection features.

The Context module build on top of the Core and Beans modules. The Context module inherits its features from the Beans module and adds support for internationalization (I18N), event-propagation, resource-loading, and the transparent creation of contexts. The ApplicationContext interface is the focal point of the Context module that provides these features.

The Expression Language module provides a powerful expression language for querying and manipulating an object graph at runtime. The language supports setting and getting of property values, property assignment, method invocation, accessing the context of arrays, collections and indexers, logical and arithmetic operators, named variables, and retrieval of objects by name from Spring's IoC container.

Data Access/Integration Module
The Data Access/Integration layer consists of the JDBC, ORM, OXM, JMS and Transaction modules.

The JDBC module provides a JDBC-abstraction layer that removes the need to do tedious JDBC coding and parsing of database-vendor specific error codes.

The ORM module provides integration layers for popular object-relational mapping APIs, including JPA, JDO, Hibernate, and iBatis.

The OXM module provides an abstraction layer for using a number of Object/XML mapping implementations for JAXB, Castor, XMLBeans, JiBX and XStream.

The JMS module provides Spring's support for the Java Messaging Service. It contains features for both producing and consuming messages.

The Transaction module provides a way to do programmatic as well as declarative transaction management, not only for classes implementing special interfaces, but for all your POJOs.

Web Module
The Web layer consists of the Web, Web-Servlet and Web-Portlet modules.

Spring's Web module provides basic web-oriented integration features, such as multipart file-upload functionality, the initialization of the IoC container using servlet listeners and a web-oriented application context.

The Web-Servlet module provides Spring's Model-View-Controller (MVC) implementation for web-applications

The Web-Portlet module provides the MVC implementation to be used in a portlet environment and mirrors what is provided in the Web-Servlet module.

AOP and Instrumentation Module
Spring's AOP module provides an aspect-oriented programming implementation allowing you to define, method-interceptors and pointcuts to cleanly decouple code implementing functionality that should logically be separated.

The Instrumentation module provides class instrumentation support and classloader implementations to be used in certain application servers.

Test Module

The Test module contains the Test Framework that supports testing Spring components using JUnit or TestNG. 

Spring Modules

3 comments:

  1. Hey all I just wanted to say thanks! I have been a reader for several years. I regularly refer to articles from this blog when discussing or advising colleagues about testing / engineering best practices.

    Selenium Training in Velachery
    Selenium Training Course

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete