In preparing for an upcoming presentation I have dug into the Spring Framework and all its advantages. One of the main selling points of Spring is Dependency Injection which allows you to make your code more testable and decouple your Java code.
Working in Java code for over ten years I have seen a lot of tightly coupled and difficult to test applications. I initially was introduced to the Spring Framework by Aaron Oathout and Cory Wandling at IFMC. We used it in an application that securely exchanged Medical information.
At the core is the Spring container which allows you to wire up your dependencies. You can keep things at arms length instead of coupling things. The Spring container is designed to be very lightweight, this was in response to the heavyweight application servers and the EJBs that used on them. Spring also encourages developers to write reusable code.
Spring also enables us to develop enterprise level software solutions with POJOs(Plain Old Java Objects). This is a simple solution to the cumbersome style of enterprise solutions we used to have with EJBs (Enterprise Java Beans). When Rod Johnson created Spring it was in response to the heavyweight solutions with EJBs.
If you find this helpful please share with a friend.