Inversion of control is at the heart of the Spring framework. The org.springframework.beans and org.springframework.context packages provide the basis for the Spring Framework\'s IoC container.
The basic concept of the Inversion of Control pattern (dependency injection) is that programmers don\'t need to create your objects but describe how they should be created.
In a IOC scenario, the container creates all the objects, connects them together by setting the necessary properties, and determines when methods will be invoked.
The implementation pattern types for IOC used by SpringFramework are as follows:
Dependencies can be assigned through JavaBeans properties (setter methods).
Dependencies are provided as constructor parameters and are not exposed as JavaBeans Setter properties.