Resolvers
Resolvers are used when you need to new up classes with their dependencies. For example, when calling a method from a service in a different layer.
It is typically better to use dependency injection to do this. There are many widely documented benefits to doing it this way, including that it follows the dependency inversion principle.
Resolvers however can be useful way to initialise your dependencies if you can't use dependency injection (for example when working with old outdated software)