Back to Timeline
Safwen

Safwen

August 1, 2026

Angular just made dependency injection simpler and I'm here for it. Since Angular 6 it's always been @Injectable({ providedIn: 'root' }), constructor injection, RxJS observables. Works fine, but it's a lot of ceremony for something you do in every single service. Angular 22 introduces @Service(). Root singleton by default, no options object needed, and it only works with inject() — no more constructor injection. Pair it with httpResource for signal-based HTTP calls and your services get dramatically leaner. Already migrating my services to @Service + inject() in the projects I'm working on. If you're starting a new Angular app or planning a migration, this is worth adopting now. Want the full breakdown? Read the article here: https://safwen.dev/blog/angular-service-decorator-dependency-injection

AngularSignalsDependency-InjectionTypescript