Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara How Providers Work in Nest.js | Section
Building Backend Applications with Nest.js

How Providers Work in Nest.js

Scorri per mostrare il menu

Previously, you learned that Nest.js can inject dependencies automatically. But how does Nest.js know which classes it can create?

To make a class available for dependency injection, you mark it with the @Injectable() decorator.

@Injectable()
export class UsersService {}

Next, register the service inside a module using the providers array.

@Module({
  providers: [UsersService],
})

Here is what is happening:

  • @Injectable() tells Nest.js that the class can be managed by the framework;
  • providers registers the service with the module;
  • Nest.js creates a single instance of the service;
  • Whenever another class requests UsersService, Nest.js provides the same instance automatically.

For example, the controller can now receive the service through its constructor:

constructor(private usersService: UsersService) {}

This system keeps your application organized by allowing different parts of your code to work together without manually creating or managing objects.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 13

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

How Providers Work in Nest.js

Previously, you learned that Nest.js can inject dependencies automatically. But how does Nest.js know which classes it can create?

To make a class available for dependency injection, you mark it with the @Injectable() decorator.

@Injectable()
export class UsersService {}

Next, register the service inside a module using the providers array.

@Module({
  providers: [UsersService],
})

Here is what is happening:

  • @Injectable() tells Nest.js that the class can be managed by the framework;
  • providers registers the service with the module;
  • Nest.js creates a single instance of the service;
  • Whenever another class requests UsersService, Nest.js provides the same instance automatically.

For example, the controller can now receive the service through its constructor:

constructor(private usersService: UsersService) {}

This system keeps your application organized by allowing different parts of your code to work together without manually creating or managing objects.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 13
some-alt