...
Dependency injection is heavily used when defining service dependencies. When a component defines a service dependency, a reference to that service is injected by the framework into that component instead of the component itself retrieving the reference.