There are two types of injector hierarchies in Angular
- ModuleInjector hierarchy: It configure on a module level using an @NgModule() or @Injectable() annotation.
- ElementInjector hierarchy: It created implicitly at each DOM element. Also it is empty by default unless you configure it in the providers property on @Directive() or @Component().