What is Spring?

Spring is grate framework for development of Enterprise grade applications.
Spring is a light-weight framework for the development of enterprise-ready
applications. Spring can be used to configure declarative transaction
management, remote access to your logic using RMI or web services, mailing
facilities and various options in persisting your data to a database. Spring
framework can be used in modular fashion, it allows to use in parts and leave
the other components which is not required by the application.

Features of Spring Framework:

    • Transaction Management: Spring framework provides a generic abstraction
      layer for transaction management. This allowing the developer to add the
      pluggable transaction managers, and making it easy to demarcate transactions
      without dealing with low-level issues. Spring’s transaction support is not
      tied to J2EE environments and it can be also used in container less

    • JDBC Exception Handling: The JDBC abstraction layer of the Spring offers a
      meaningful exception hierarchy, which simplifies the error handling strategy


    • Integration with Hibernate, JDO, and iBATIS: Spring provides best
      Integration services with Hibernate, JDO and iBATIS.


    • AOP Framework: Spring is best AOP framework


  • MVC Framework: Spring comes with MVC web application framework, built on
    core Spring functionality. This framework is highly configurable via strategy
    interfaces, and accommodates multiple view technologies like JSP, Velocity,
    Tiles, iText, and POI. But other frameworks can be easily used instead of
    Spring MVC Framework..

Spring Architecture

Spring is well-organized architecture consisting of seven modules.
Modules in the Spring framework are:

  1. Spring AOP

    One of the key components of Spring is the AOP
    . AOP is used in Spring:

    • To provide declarative enterprise services, especially as a
      replacement for EJB declarative services. The most important such
      service is declarative transaction
      , which builds on Spring’s transaction
    • To allow users to implement custom aspects, complementing their use
      of OOP with AOP
  2. Spring ORM

    The ORM package is related to the
    database access. It provides integration layers for popular object-relational
    mapping APIs, including JDO, Hibernate and iBatis.

  3. Spring Web

    The Spring Web module is part of Spring’s web application development
    stack, which includes Spring MVC.

  4. Spring DAO

    The DAO (Data Access Object) support in Spring is primarily for standardizing
    the data access work using the technologies like JDBC, Hibernate or JDO.

  5. Spring Context

    This package builds on the beans package to add support for message sources
    and for the Observer design pattern, and the ability for application objects
    to obtain resources using a consistent API.

  6. Spring Web MVC

    This is the Module which provides the MVC implementations for the web

  7. Spring Core

    The Core package is the most import
    component of the Spring Framework.

    This component provides the Dependency Injection features. The BeanFactory
    provides a factory pattern which separates the dependencies like
    initialization, creation and access of the objects from your actual program

The following diagram represents the Spring Framework Architecture

Leave a Reply

Your email address will not be published. Required fields are marked *

Pin It on Pinterest

Share This

Share this post with your friends!