Skip to content

Providers useClass, useValue, useFactory, useExisting

6.2 Providers: useClass, useValue, useFactory, useExisting

Section titled “6.2 Providers: useClass, useValue, useFactory, useExisting”

Angular providers can specify how a dependency is created:

// useClass
{ provide: LoggerService, useClass: LoggerService }
// useValue
{ provide: APP_CONFIG, useValue: { apiUrl: '/api' } }
// useFactory
{ provide: LoggerService, useFactory: () => new LoggerService() }
// useExisting
{ provide: ILogger, useExisting: LoggerService }

Note: Angular 21 maintains these provider patterns. Signals do not change the provider configuration syntax.