Angular Dependency Injection

Dependency Injection (DI) was a core feature in AngularJS, and that has not changed in Angular. DI is a programming concept that predates Angular. The purpose of DI is to simplify dependency management in software components. By reducing the amount of information a component needs to know about its dependencies, unit testing can be made easier and code is more likely to be flexible.

Angular improves on AngularJS's DI model by unifying AngularJS's two injection systems. Tooling issues with respect to static analysis, minification and namespace collisions have also been fixed in Angular.