Fundamental concept in spring framework. Spring injects dependencies into other objects enabling loose coupling of components and easy to manage/change/test dependencies.
It is a process by which objects define their dependencies through external ways such as constructors, factory methods, properties, annotations.