Himanshu Gupta is currently working as a Software Engineer in India. He has been working in Java for the last 3 years. He has a BE degree from Rajasthan University. He holds SCJP-5 and SCWCD-5 Sun certifications. Himanshu has posted 5 posts at DZone. View Full User Profile

Spring Framework Architecture

07.06.2010
| 25480 views |
  • submit to reddit

The Spring framework is a layered architecture which consists of several modules. All modules are built on the top of its core container. These modules provide everything that a developer may need for use in the enterprise application development. He is always free to choose what features he needs and eliminate the modules which are of no use. It's modular architecture enables integration with other frameworks without much hassle.


The Core Module: Provides the Dependency Injection (DI) feature which is the basic concept of the Spring framework. This module contains the BeanFactory, an implementation of Factory Pattern which creates the bean as per the configurations provided by the developer in an XML file.

AOP Module: The Aspect Oriented Programming module allows developers to define method-interceptors and point cuts to keep the concerns apart. It is configured at run time so the compilation step is skipped. It aims at declarative transaction management which is easier to maintain.

DAO Module: This provides an abstraction layer to the low level task of creating a connection, releasing it etc. It also maintains a hierarchy of meaningful exceptions rather than throwing complicated error codes from specific database vendors. It uses AOP to manage transactions. Transactions can also be managed programmatically.

ORM Module: Spring doesn’t provides its own ORM implementation but offers integrations with popular Object Relational mapping tools like Hibernate, iBATIS SQL Maps, Oracle TopLink and JPA etc.

JEE Module: It also provides support for JMX, JCA, EJB and JMS etc. In lots of cases, JCA (Java EE Connection API) is much like JDBC, except where JDBC is focused on database JCA focus on connecting to legacy systems.

Web Module: Spring comes with MVC framework which eases the task of developing web applications. It also integrates well with the most popular MVC frameworks like Struts, Tapestry, JSF, Wicket etc.

From http://himanshugpt.wordpress.com/2010/07/05/262/

Published at DZone with permission of its author, Himanshu Gupta.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

Comments

Sadsds Dsadsadsa replied on Wed, 2010/07/07 - 10:19am

what is the point of this article? A framework is divided into modules and here they are? Wow!

 I don't see how this adds anything I could not have gathered from reading the documentation that came with the Spring framework.

Himanshu Gupta replied on Wed, 2010/07/07 - 11:46am in response to: Sadsds Dsadsadsa

I dont know what made you expect to get what you are searching for.

Sadsds Dsadsadsa replied on Thu, 2010/07/08 - 5:43am in response to: Himanshu Gupta

I suspect the author is trying to make a name for himself on the web by saying he has a number of published articles (see also the pointless Ant posting by the same author).

Its a shame because there are some really good articles on here. Articles introducing NEW libraries and concepts and tips for dealing with real world issues.

 Articles like this will just spoil the reputation of DZone.

Himanshu Gupta replied on Thu, 2010/07/08 - 8:00am in response to: Sadsds Dsadsadsa

First thing first: No personnel attacks. and for your information: "I suspect the author is trying to make a name for himself on the web by saying he has a number of published articles (see also the pointless Ant posting by the same author)." The articles are choosen by the Dzone leaders and not by the author. Also I was not aware that ANT is pointless. Good going. Keep it up.

Sadsds Dsadsadsa replied on Thu, 2010/07/08 - 9:16am

No one is saying ANT is pointless. What is pointless is an article about it when (by now because of how long it has been around) there will be soo many already out there. Yours added nothing new.

 Are you saying that the DZone leaders asked you to submit an article about ANT? If so, how do I get on that list? Maybe I could write an article about something thats been around for ages with plenty of introductory material already out there that I can use. That way I can put it on my CV and people will think I'm really smart.

 Lets hope they don't actually look at the article though.

Himanshu Gupta replied on Thu, 2010/07/08 - 9:50am in response to: Sadsds Dsadsadsa

"Are you saying that the DZone leaders asked you to submit an article about ANT?" I never said that. They just picked it from my blog. Simple. And yes I do write whatever I like because its my hobby. I dont think about the topic that its old or new. I dont mention it in my CV to show off. Thats it.

Sadsds Dsadsadsa replied on Thu, 2010/07/08 - 10:19am

I owe you an apology Himanshu.

 I was under the impression your articles are original content for the DZone site. This is not true. DZone have just re-published your blog entries here.

 You can of course write whatever you want on your blog.

 DZone should have checked whether the content was suitable or not for republishing here and they are the ones at fault.

Himanshu Gupta replied on Thu, 2010/07/08 - 10:25am in response to: Sadsds Dsadsadsa

This gave me a smile. :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.