Java Spring Framework

by Eric S

Today, Business and developers are always finding different ways to give them that competitive edge in the technology market.  One of the first major game changers was the Java Spring Framework, released in 2002. It has evolved over the years and helped java be able to evolve and still work with many new and existing external platforms today. As with every program there are specific intentions or roles it is meant to be able to accomplish.  If we were to try and compare what the Java Spring framework role is in laymen terms, it would be considered the piping and internal structure design of a house, by helping move things in and out on a set smooth pattern. As we have moved form log cabins to ultra modern smart homes, the design of the piping and internal structure has significantly changed to adapt. The Java Spring Framework like we have seen on the market in the last few years has done just that. According to “The Spring Framework helps you build Java Applications faster because it allows you to focus on your business problem rather than the plumbing code that connects components and systems.” (Spring Source) Throughout this blog I will explain the history and the practical use of the Java Spring Framework, as we use it today.

Brief History

Rod Johnson originally wrote the Java Spring Framework in 2002. Recently Java Spring Framework was shortened to “spring.”  It was first released in 2003 under the Apache 2.0 license and hit some major release updates in 2004 and 2005. It won the Jolt productivity award in 2006. (LaPlante) The newest version of spring is 3.2.2, it was released in March 2013. Currently VMware acquired  Java Spring Framework for $420 million dollars. (Spring 3.0)

The Java Spring Framework’s aim is to make existing technologies easier to use. In doing so, its main purpose is to make Java Platform Enterprise Edition (J2EE) easier to use. Spring also promotes good programming practices. However, Spring is a framework not the language, thus you’ll find no logging packages in Spring. Nor connection pools or a distributed transaction coordinator. Your application server or other Open source applications will provide these. Spring is not a type of code but more of a template.

What is Java Spring Framework?

            In Short, today it is an open source framework and control container for the Java environment. According to Spring Source more than 3 million developers are currently using it. As I stated earlier, some call it the plumbing and piping part of the java environment. Its founding principle is dependency injection.  Dependency Injection has a few different names but it is also know as Inversion of control.  Know you might be asking yourself what is Dependency Injection ? According to the author of just spring, Konda, “When a standalone program starts, it starts the main program, creates the dependencies, and then proceeds to execute the appropriate methods. However, this is exactly the reverse if IoC is applied. That is, all the dependencies and relationships are created by the IoC container and then they are injected into the main program as properties. The program is then ready for action. This is essentially the reverse of usual program creation, thus the name Inversion of Control principle.” (Konda5)  As Spring has evolved over the years it now is also able to do: Aspect-oriented programming, Data access, Transaction management, Model–view–controller, Remote access framework, Convention over configuration, Authentication and authorization, Remote management, Messaging, and Testing.  The Bullet points below are a summary description of what each role does exactly as stated on Wikipedia.


  • Aspect-oriented programming- enables implementing cross-cutting.
  • Data access – allows working with relational database management systems on the Java platform and object-relational mapping tools and with NoSQL databases.
  • Transaction management – unifies several transaction management APIs and coordinates transactions for Java objects.
  • Model–view–controller – an HTTP- and servlet-based framework providing hooks for extension and customization for web applications and RESTful web services.
  • Remote access framework – configurative RPC-style marshaling of Java objects over networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP)
  • Convention over configuration – a rapid application development solution for Spring-based enterprise applications is offered in the Spring Roo module
  • Authentication and authorization – configurable security processes that support a range of standards, protocols, tools and practices via the Spring Security sub-project (formerly Acegi Security System for Spring).
  • Remote management – configurative exposure and management of Java objects for local or remote configuration via JMX
  • Messaging – configurative registration of message listener objects for transparent message-consumption from message queues via JMS, improvement of message sending over standard JMS APIs
  • Testing – support classes for writing unit tests and integration tests


Why use Spring?

Besides Spring being designed from the ground up to help you write code that’s easy to test. When Rod Jenson, the developer, was asked this very question his response was simple, “Spring makes it even easier for developers to build flexible, high-quality applications while providing a foundation for innovation in other open source projects and commercial projects. (Spring 3.0) Spring allows you to take your existing java projects and add to them by taking care of the infrastructure.  Unlike other frameworks, Spring evolves and adapts to the times and your needs, weather if be adding a database, security, a messaging system, a data tracker, mobile clients, etc. It also does not effect or limit you on using other implementations. One plus that Spring focuses around providing, is a way to manage your business objects. Spring also has a same structure, layered architecture, allowing you the opportunity to choose to use just about any part of the architecture in isolation.

(Image obtained from Spring Source)

Example of People who use Spring.

World Of Warcraft

In conclusion, Spring is not necessarily one more framework to add to your project. Spring is potentially a one-stop shop, addressing and taking care of  any of your infrastructure concerns. It also goes places other frameworks don’t. Being an open source project so there is much available to you as well.



Johnson, R. (2005). Introduction to the Spring Framework., , Retrieved Form

Konda, M. (2011). Just Spring. Sebastopol, CA: O’Reilly.

Krill, P. (2011). Spring framework founder: Java needs cloud accommodations. InfoWorld.Com, , n/a. Retrieved from

Krill, P. (2009). Spring 3.0 framework for java to debut. InfoWorld.Com, Retrieved from

LaPlante, R. (2006) Jolt Awards. Retrieved form

Springsource upgrades java framework; version 3.0 of the automated java programmer platform and a developer edition of spring tc server are the latest offerings from springsource. (2009).InformationWeek, .

Spring Source (n.d.). Retrieved from

Wikipedia (n.d.) Retrieved from

4 thoughts on “Java Spring Framework

  • April 29, 2013 at 5:19 pm

    I can see the brilliance of having multiple individually thinking and collaboratively working programs working together to create the end result, but I find difficulty wrapping my head around the idea of it being easier to tell a program’s dependencies that they need to tell the program that the program needs them. Unless, of course, this abstract dependency brain decides to pour out its entire contents and let the program pick and choose, which seems no different to me.
    In short, I must be missing something because Spring is evidently widely used for some good reason, but it seems like a roundabout way to accomplish the same methodology we’ve already been standardized on in programming. Do you have any concise way to enlighten me?

  • May 12, 2013 at 7:52 pm

    We need more people like Rod Johnson, who have came up with an interesting and I think amazing product which makes the lives of developers much easier. I’m a little bit confused like Brent as well about how to does Spring makes it easy to developers to create program. Maybe if you could give an example or talk a little bit of how it works would give much clear idea about the product itself. However, I appreciate the effort that you put to write this helpful blog.

  • June 9, 2013 at 1:53 am

    I really enjoyed your article. Your explanation of why the spring php framework “does not effect or limit you on using other implementations”, I feel was spot on. I believe this framework has truly done a lot to maintain its relevancy in our industry by adapting to the new times.

  • June 10, 2013 at 10:44 am

    This was an interesting blog to read content-wise. I didn’t know that there was a framework that could help Java development environment this much. A few actual examples of how Java Spring Framework worked would have been nice.

Comments are closed.