In software engineering, dependency injection is a software design pattern that implements inversion of control for resolving dependencies. A dependency is an object that can be used (a service). An injection is the passing of a dependency to a dependent object (a client) that would use it. After getting used to Angular, you will take the dependency injection for granted because it is so easy to use.
For example, this code