Frameworks| Hibernate| Struts| JSF| JavaFX| Ajax| Spring| DOJO| JDO| iBatis| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials

Latest Questions
Comments
 
What is Spring? 
 

Spring is grate framework for development of Enterprise grade applications.

 

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 environments.
       
  • 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 framework. 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 management, which builds on Spring's transaction abstraction.

    • 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 applications.
      
  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 logic.

The following diagram represents the Spring Framework Architecture


Spring Framework Architecture

                         

» View all related tutorials
Related Tags: c spring development framework application io enterprise read applications app frame for work ram erp e li dev enter in

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

6 comments so far (
post your own) View All Comments Latest 10 Comments:

Excellent tutrial i have ever got

Posted by Pintu on Monday, 04.6.09 @ 17:07pm | #86555

Good question. In simple words:
If you want to use any framework (e.g. Struts, Hibernate, etc...) within your application, your code has to use the API provided by that framework. This makes your code that framework dependent. Spring minimizes this by rather injecting such dependencies into your application (As you go on declaring various configurations in XML files). Hence your application code is much cleaner.

That's why Rod Johnson et al. say: "Application code written as part of a Spring application can be run without Spring or any other container", yet it's not 100% freedom. E.g. for writing Spring MVC, your handler/controller has to extend one of the controllers (AbstractController) & implement "handleRequestInternal()" method that returns ModelAndView object. That's the reason why they also say: "Lock-in to Spring is <b>minimized</b>".

Thus, not only Spring code, but also any code (preferably AOP, Transaction, Security related) can be injected. This makes your application code look cleaner. (but at the same time highly configured in the background).

However, in my opinion, every new framework/technology has proclaimed to have offered to allow developer focus on business logic but only forthcoming time will reveal the truth. Because just like how people used to dream of paperless office during computer era which ironically has proven a myth as the paper usage has increased dramatically causing more & more trees chopped.

So let's wait & watch whether this Frameworks proliferation end up in making a developers' life more miserable or let them focus on business logic.

Anup Jani.

Posted by Anup Jani on Saturday, 11.15.08 @ 18:29pm | #81706

Dependency Injection is a form of IoC that removes explicit dependence on container APIs; The two major flavors of Dependency Injection are Setter Injection (injection via JavaBean setters); and Constructor Injection (injection via constructor arguments). Spring provides sophisticated support for both, and even allows you to mix the two when configuring the one object.

Posted by Yogesh on Thursday, 08.14.08 @ 11:31am | #72792

I love to read RoseIndia tutorials. The content is Excellent for all Technologies. My small suggestion is that few spelling mistakes are found in the tutorial. Example if you open the spring tutorial, the Title of the page spells incorrect, like "Sping Architecture", and in the Spring Architecture the first line has a spelling mistake."Spring is grate framework". Apart from few spelling mistakes the Rose India Tutorials are Excellent.

Posted by kishore on Wednesday, 07.30.08 @ 10:17am | #69917

spring framework explanation is Excellent.

Posted by spandana on Wednesday, 05.28.08 @ 11:42am | #61254

I didn't get clearly wht is dependency injuction,could u please explain me clearly

Posted by jyothi on Friday, 05.2.08 @ 15:48pm | #58372

Training Courses
Tell A Friend
Your Friend Name
Software Solutions
Least Viewed
Most Rated
Recently Viewed
Search Tutorials

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.