DI v Angularu je hierarchické: injektory tvoří strom, který zrcadlí strom komponent/modulů. Když komponenta požaduje závislost, Angular procházejí strom injektorů nahoru, dokud nenajde poskytovatele — který určuje, zda získáte sdílený singleton nebo samostatnou instanci pro každou komponentu.
Hierarchie injektoru
Root injector (app-wide) ← providedIn: 'root' lives here (one singleton)
└─ Module/Route injectors
└─ Component injector ← providers: [...] in @Component
└─ Child component injector
Vyhledávání začíná v požadující komponentě a probublává až ke kořenu. nalezený poskytovatel vyhrává.
