La Inyección de dependencias en Angular 6 trae algunos cambios, en esta ocasión vamos a revisar los cambios que afectan a nuestros servicios, anteriormente teníamos que hacer lo siguiente para utilizar un servicio.

Es decir, primero debíamos utilizar @Injectable() sobre nuestro servicio y después inyectarlo a través de providers en el módulo que deseemos.

En Angular 6 aparece la metadata providedIn.

Sólo por hacer esto, nuestro servicio será inyectado en el módulo root de nuestra app automáticamente creando un Singleton, pero además, si queremos utilizarlo en un módulo concreto, podemos hacer lo siguiente y también será inyectado automáticamente.

Aunque ahora tenemos una nueva opción a la hora de inyectar servicios, la opción de versiones anteriores sigue siendo completamente funcional.