Why a new Framework comes to our mind. The solution to this lies in the need to have a light weight, 3rd party pluggable resource and configurable ( xml based ) kind of framework to help write business logic. And Spring helps in this by means of IOC(Inversion of Control) and AOP(Aspect oriented Programming) concepts.
I dont want to get into the IOC and AOP as thats not the point here to cover in this blog.
Basically if some one wants to understand spring then the crux is that one should think about writing a modularized utilities which will read the resources and make it available to the application at the time of integration -- on the same time, application being not dependent on the resource selection. Take the case of datasource which was provided by weblogic and though configurable to any database. Apart from this the framework abstracts the exception thrown from varius modules in the form of checked exception.
The basic coding lies in writing bean.xml files to inject the resources via constructor, methods, or settermethod (or any of the combination ) and utilise them in writing env independent code. Spring has been divided into parts like core, DAO, MVC web, etc. ApplicaitonContext and BeanProperty takes care of parsing xml file into beans and instantiating the beans as per the creational specification ( Design patters -- singelton, prototype, factory ) though keeping the threadsafe objects.
YET MORE TO COME.