Что такое внедрение зависимостей (dependency injection)? Для чего необходимо DI? Составные части DI: Provider, Injector, Dependency. Рецепты задания провайдера: useClass, useValue, useExising, useFactory. Injectoin токен. Декораторы в помощь инжектору.