I hear now a days alot about Spring Framework ? Why there is soo much buzz around Spring Framework in Industry ?
Well it provides a great additional framework that lets you concentrate on writing less framework code and more application code.
It provides things like:
- A fairly comprehensive IoC container
- An AOP Framework
- Messaging Framework
and a whole lot more.
A lot of these concepts are fairly complex and because they provide the framework it means you can just plug in their components and leverage what has already been created for you.
I think you may want to read about dependency injection, and inversion of control.
Spring is (among several other things) an inversion of control container.
Maybe something to do with $420 million?
Spring has been around for a while, it introduced important new design patterns, and it is indirectly responsible for reforming EJB.
But I'm thinking you are hearing about it now because in August, VMware bought SpringSource for $420 million. That's rather high for an open source developer and consulting company...
I already gave a partial answer here but I'll add some links in this answer. Actually, I won't cover or discuss the technical qualities of Spring as they aren't new and don't explain the buzz in my opinion. Instead, consider the following events and acquisitions:
- November 11, 2008: SpringSource Acquires G2One Inc.
- April 28, 2009: SpringSource tc Server – The logical next step
- May 4, 2009: SpringSource Plus Hyperic Unifies Application Lifecycle From Developer to Data Center
- Augustus 11, 2009: VMware Acquires SpringSource for $420 Million - Industry Reactions (Updated)
- Augustus 19, 2009: SpringSource Cloud Foundry is Launched
As you can see, there have been lots of changes in the SpringSource sphere during the past year, with some pretty big moves during this summer. Don't you see the big picture now? Well, look at the resulting stack: with Java, Groovy, Grails as languages, Spring as container, tc Server as underlying application server, Hyperic for health and monitoring, VMware for virtualization, CloudFoundry as management and provisioning system, VMware/SpringSource has a complete stack for elastic cloud. And by complete, I mean really complete as this stack covers everything - except the JVM - to put Java on the Cloud: the software, the platform and the infrastructure i.e. all the different flavors of cloud computing.
In other words, while others are still preparing themselves for it, VMware and SpringSource are already ready for the SaaS1/PaaS2/IaaS3 wave.
This is exciting, this is where innovation goes, this creates (or at least feeds) the trend, this puts a lot of pressure on Java, the Application Server market, Java EE,... and this explains IMO the buzz around VMware/SpringSource. More than the upcoming arrival of Spring 3.0 :).
1 Software as a Service
2 Platform as a Service
3 Infrastructure as a Service
In the primordial days of crusty old J2EE, Spring Framework came along and made it possible to inject JNDI registered services into EJBs. Gee, you could actually begin to design an EJB to where it could be unit tested without having to fire up a J2EE app server - just mock the JNDI services that it collaborated with via Spring dependency injection.
Well, for it's day, that was a not so minor miracle.
These days, if you want to know why Spring continues to rock, check out this book and learn about this development stack, and how Spring is instrumental as the core bean factory mechanism to everything that surrounds it - from BlazeDS services to iBATIS or Hibernate to ActiveMQ messaging beans:
And check out this article:
inversion of control is no good thing.
also the annotation bullsh** prevents much bugs from being found on compilation time.