Registering providers
An injector creates dependencies using providers. Providers are required to be registered into the consuming services or components. By registering them, the provider class allows us to create independent reusable features and functionalities by individual team members.
Configuring and registering provider classes also allows to break down functionalities into smaller modules, which are easy to maintain and modify. We can register provider classes into services and components in different ways. Important points to always keep in mind about injectors are as follows:
- We have to create a provider in our
NgModule
, component constructor, or in a directive - Register the service in the component's constructor
We have created a ListService
service in the preceding section, which has a method and can now be registered and used in multiple components:

Let's analyze the preceding diagram in detail to understand the use case we are building:
- We will create an
Injectable
service class...