$ npm install --save-dev @angular-ru/autowiredThe decorator @Autowired tells the Angular application that the class it is underlined is a service, that is, a candidate for automatic detection (DI).
app.module.ts
@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  providers: [ServiceA, ServiceB, ServiceC, ServiceD],
  bootstrap: [AppComponent]
})
export class AppModule {}base.component.ts
export class BaseComponent {
 constructor(
    private c: ServiceC,
    private d: ServiceD
 ) {}
 ...
}app.component.ts
export class AppComponent extends BaseComponent {
 constructor(
    private a: ServiceC,
    private b: ServiceD,
    private c: ServiceC,
    private d: ServiceD
 ) {
   super(c, d);
 }
 ...
}app.module.ts
@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, BeanAccessibleModule.forRoot()],
  providers: [ServiceA, ServiceB, ServiceC, ServiceD],
  bootstrap: [AppComponent]
})
export class AppModule {}base.component.ts
export class BaseComponent {
 @Autowired() private c: ServiceC;
 @Autowired() private d: ServiceD;
 ...
}app.component.ts
export class AppComponent extends BaseComponent {
 @Autowired() private a: ServiceA;
 @Autowired() private b: ServiceB;
 ...
}