The basic concept of Spring?
The basic concept of Spring is the Inversion of Control pattern (dependency injection).
In Spring, programmers don’t need to create user objects but they need to describe how they should be created (in applicationContext.xml or using annotations).
In Spring, programmers don't need directly connect components and services together in code but they need to describe which services are needed by which components in a configuration file or using annotations.
The Spring container is responsible for all this.
Spring creates all the objects, connects them together by setting the necessary properties, and determines when methods will be invoked.
accomplish that goal, the responsibility of controlling those complexities should be inverted from the application code to a framework. The bottom line is that enterprise development isn't easy, but it can be much easier when a framework handles much of the grunt work.